Knockout.js $父母在模板键的名称和删除观测

Knockout.js $父母在模板键的名称和删除观测

问题描述:

我有2个关于基因敲除简单的问题:

  1. 我怎样才能获得$父母键,例如。如果我的视图模型为:

    viewModel = { ModelA: { ModelB : { ModelC : { someprop } } } } 
    

    ,我有3个模板,第一个模板渲染MODELA,第二ModelB和第三ModelC,我怎样才能在ModelC模板如下:

    <a data-bind="visible: viewModel.{$parents[1].key}.{$parents[0].key}.{$data.key}.someprop" /> 
    
  2. 如何我可以在运行时从ModelC中移除可观察的someprop吗?我试着在ModelC模板嵌入此:

    <input type="checkbox" data-bind="click: function() { viewModel.removeIt(someprop) }" /> 
    

    而这根页面

    viewModel.removeIt = function(node) { 
        ko.cleanNode(node); 
    }; 
    

    ,但它无法正常工作。

我不太清楚你试图在你的第一个问题做什么,但我创建了一个小提琴,可能有助于回答是:http://jsfiddle.net/FwJWG/

作为去除可观察到的,你可以使用deletehttp://jsfiddle.net/7sS8k/

+0

将其从课程中全部删除使用感谢您的删除选项。关于第一个问题,我想获取父级属性名称,而不用在模板中对其进行硬编码(类似于dotnet中的反射)。 –