【发布时间】:2012-10-19 01:35:24
【问题描述】:
我需要将 click: 事件中的数据传递到另一个 div。这是一个场景:
页面的一侧有一个链接。
<a data-bind="text: Name, click: $root.editAction"></a>
在页面的另一边,有一个隐藏的div。
<div data-bind="if: $root.editActionShow">
<input type="text" data-bind="value: Name"/>
</div>
我需要能够从click: 事件中传递$data,做那个隐藏的div。
也许我想多了,但是我的viewModel有很多不同的Actions深埋在viewModel.DataGroups.DataGroup.ActionDataGroup中,而且只有1个HTML表单可以编辑动作信息,所以我不知道如何制作该表单仅显示我要编辑的一个特定操作。
这是另一个踢球者。我不想在我的viewModel 中添加任何可观察的内容。原因是我必须在最后进行.toJS() 映射,然后将 JSON 转换为 XML,这必须针对非常严格的模式进行验证,因此拥有额外的元素是一件坏事。它不会通过验证,除非我在转换之前手动删除它们。但是,我可以将this.blah = function() {} 对象添加到我的viewModel,因为.toJS() 在转换过程中会删除它们。
更新:
所有这一切的解决方案都非常有趣
viewModel.editAction = function(data) {
viewModel.editActionFormShow(true);
ko.applyBindings(data, $('#myHiddenDiv')[0]);
};
【问题讨论】:
标签: javascript mvvm knockout.js