관찰 할 수있는 배열의 항목 인 매개 변수를 사용하는 함수를 뷰 모델에 추가 할 수 있습니다. 바인딩은 dependentObservable
내부의 함수를 실행하므로 값에 액세스 한 관측 가능 객체는 종속성을 생성합니다.
따라서, 예를 들어, Ryan Niemeyer's jsFiddle에서 다음과 같은 마크 업 할 수 있습니다 : 함수가 매개 변수를 사용하는 경우
var viewModel = {
text: ko.observable("one"),
items: [{name: "one"}, {name: "two"}, {name: "three"}],
};
viewModel.shouldThisBeVisible = function(name) {
return this.text() === name;
}.bind(viewModel);
ko.applyBindings(viewModel);
결정적인 비트가 :
type "one", "two", or "three": <input data-bind="value: text" />
<hr />
<ul data-bind="template: { name: 'itemTmpl', foreach: items }"></ul>
<script id="itemTmpl" type="text/html">
<li data-bind="text: name, visible: viewModel.shouldThisBeVisible(name)"></li>
</script>
.. 뷰 모델을 'name'
입니다. 귀하의 경우, 이것은 관찰 가능한 배열의 항목입니다.
희망이 도움이됩니다.