Knockout.js $父母在模板键的名称和删除观测
问题描述:
我有2个关于基因敲除简单的问题:
-
我怎样才能获得$父母键,例如。如果我的视图模型为:
viewModel = { ModelA: { ModelB : { ModelC : { someprop } } } }
,我有3个模板,第一个模板渲染MODELA,第二ModelB和第三ModelC,我怎样才能在ModelC模板如下:
<a data-bind="visible: viewModel.{$parents[1].key}.{$parents[0].key}.{$data.key}.someprop" />
-
如何我可以在运行时从ModelC中移除可观察的someprop吗?我试着在ModelC模板嵌入此:
<input type="checkbox" data-bind="click: function() { viewModel.removeIt(someprop) }" />
而这根页面
viewModel.removeIt = function(node) { ko.cleanNode(node); };
,但它无法正常工作。
答
我不太清楚你试图在你的第一个问题做什么,但我创建了一个小提琴,可能有助于回答是:http://jsfiddle.net/FwJWG/
作为去除可观察到的,你可以使用delete
:http://jsfiddle.net/7sS8k/
将其从课程中全部删除使用感谢您的删除选项。关于第一个问题,我想获取父级属性名称,而不用在模板中对其进行硬编码(类似于dotnet中的反射)。 –