0
knockout의 새로운 3.2 구성 요소 사양을 사용하여 내부에 foreach 바인딩을 사용하여 구성 요소를 만들어 개체 컬렉션을 렌더링하려고합니다. foreach 바인딩 내부의 객체는 구성 요소의 VM에있는 속성에 액세스 할 수 있어야하지만 foreach 루프에서 해당 참조를 한 번 풀린 것처럼 보입니다.녹아웃 3.2 구성 요소 - foreach 바인딩 내의 구성 요소 viewModel 루트에 액세스 할 수 없습니다.
템플릿의 구성 요소 뷰 모델의 루트에 직접 액세스하는 간단한 방법이 있습니까?
구성 요소 VM :
function RelatedCompaniesViewModel(params) {
var self = this;
self.companies = params.companies;
self.displayLimit = ko.observable(3);
}
구성 요소 템플릿 :
<!-- ko foreach: companies() -->
<li data-bind="visible: $index() < displayLimit()">
...more bindings...
</li>
<!-- /ko -->
(returns a "displayLimit is not defined" error)
가능한 [바인딩 컨텍스트] 중 하나를 사용 (http://knockoutjs.com/documentation/binding-context.html) 속성. 이 특별한 경우에 [$ parent] (http://jsfiddle.net/w0vgfrbw/) 또는'$ root'가 작동합니다. – Origineil
* facepalm *은 $ parent 컨텍스트가 존재한다는 것을 알지 못했습니다. 위에 나열된 전체 모듈은 다른 구성 요소 안에 중첩되어 있으므로 $ root가 작동하지 않습니다. 매우 도움이됩니다. 감사합니다. – fscof