在 knockout.js 组件模板中访问 $root 绑定上下文
Accessing the $root binding context within a knockout.js component template
访问 KO 组件模板中的 $root 绑定上下文 returns 页面的视图模型而不是组件的视图模型。为什么会这样以及如何在不使用 $parent 的情况下从嵌套绑定上下文中访问组件的视图模型?
以下示例片段输出 "test2"。
HTML:
<my-component></my-component>
JS:
ko.components.register("my-component", {
template: "<div data-bind='text: $root.test'></div>",
viewModel: function(params) { this.test = "test1" }
});
ko.applyBindings({ test: "test2" });
目前您不能将 $root 绑定上下文用作组件上下文,但 $parent 和 $parents[] 正在按预期工作,请参阅 documentation. There will be $component binding context same as $root for page in version 3.3 and it is allready done github。
访问 KO 组件模板中的 $root 绑定上下文 returns 页面的视图模型而不是组件的视图模型。为什么会这样以及如何在不使用 $parent 的情况下从嵌套绑定上下文中访问组件的视图模型?
以下示例片段输出 "test2"。
HTML:
<my-component></my-component>
JS:
ko.components.register("my-component", {
template: "<div data-bind='text: $root.test'></div>",
viewModel: function(params) { this.test = "test1" }
});
ko.applyBindings({ test: "test2" });
目前您不能将 $root 绑定上下文用作组件上下文,但 $parent 和 $parents[] 正在按预期工作,请参阅 documentation. There will be $component binding context same as $root for page in version 3.3 and it is allready done github。