Имя ключа Knockout.js $parent в шаблоне и удаление наблюдаемых
У меня есть 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" />
Как я могу удалить наблюдаемый someprop из ModelC во время выполнения. Я пытался встроить это в шаблон ModelC:
<input type="checkbox" data-bind="click: function() { viewModel.removeIt(someprop) }" />
и это в корневой странице
viewModel.removeIt = function(node) { ko.cleanNode(node); };
Но это не работает.
1 ответ
Я не совсем уверен, что вы пытаетесь сделать в своем первом вопросе, но я создал скрипку, которая должна помочь ответить на него: http://jsfiddle.net/FwJWG/
Что касается удаления наблюдаемого, вы можете просто удалить его из класса, используя delete
: http://jsfiddle.net/7sS8k/