Knockout.js-每页有多个ViewModels;具有不同模型上下文的页面范围函数
我正在构建一个巨大的页面,上面有多个表单,用户将按顺序填写 我想让每个部分都有自己的模型,并计划使用masterViewModel导入子模型 但是,每个部分都有具有相同功能的编辑和保存按钮:Knockout.js-每页有多个ViewModels;具有不同模型上下文的页面范围函数,knockout.js,knockout-2.0,Knockout.js,Knockout 2.0,我正在构建一个巨大的页面,上面有多个表单,用户将按顺序填写 我想让每个部分都有自己的模型,并计划使用masterViewModel导入子模型 但是,每个部分都有具有相同功能的编辑和保存按钮: 编辑将模型切换到编辑模式 Save验证输入,保存数据(通过ajax),并切换回模型的状态 按钮集之间的唯一区别是它们的模型上下文 我在使用masterViewModel/subViewModels创建可以引用不同模型的页面级保存和编辑功能时遇到问题 有人对此有任何指导吗 谢谢。如果您的根视图模型上有一个函数
谢谢。如果您的根视图模型上有一个函数,那么您可以在任何地方调用它,比如
单击:$root.save
当Knockout调用函数时,它会将上下文(this)设置为当前数据,并将其作为第一个参数传递。因此,第一个参数将包含您当前的模型,您可以从那里处理它
以下是一个示例:
使用如下标记:
<div data-bind="with: one">
<input data-bind="value: name" />
<button data-bind="click: $root.save">Save</button>
</div>
<div data-bind="with: two">
<input data-bind="value: name" />
<button data-bind="click: $root.save">Save</button>
</div>
拯救
拯救
<div data-bind="with: one">
<input data-bind="value: name" />
<button data-bind="click: $root.save">Save</button>
</div>
<div data-bind="with: two">
<input data-bind="value: name" />
<button data-bind="click: $root.save">Save</button>
</div>