반응형
knockout.js에서 $ parent의 액세스 색인
knockout.js 2.1.0에서 foreach 바인딩을 사용하는 템플릿에서 $ index () 함수를 통해 현재 항목의 색인에 액세스 할 수 있습니다. 중첩 된 foreach 바인딩에서 템플릿에서 $ parent의 인덱스에 액세스 할 수있는 방법이 있습니까?
다음과 같은 데이터 구조가 있다고 가정합니다.
var application = {
topModel: [
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]}, // this has top:0 and sub:0
{subModel: [{'foo2':'foo2'}, { 'bar2':'bar2'}]} // this has top:0 and sub:1
},
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:1 sub:0
},
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:2 sub:0
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:2 sub:1
},
...
]};
이것으로, 색인 : [topModel-index subModel-index]를 사용하여 각 모델의 경로를 인쇄하여 출력이 다음과 같도록하고 싶습니다.
[0 0]
[0 1]
[1 0]
[2 0]
[2 1]
...
foreach를 사용하여 모델을 바인딩했지만 하위 모델의 컨텍스트에서 topModel의 인덱스에 액세스하는 방법을 알 수 없습니다. 다음 예제는 내가 시도한 접근 방식을 보여 주지만 $ parent 리퍼러의 인덱스에 액세스하는 방법을 알 수 없기 때문에 작동하지 않습니다.
<!--ko foreach: topModel -->
<!--ko foreach: subModel -->
[<span data-bind="text: $parent.index()"></span>
<span data-bind="text: $index()"></span>]
<!--/ko-->
<!--/ko-->
출력해야 함 : 0 1, 0 2, 1 0, 1 1, 1 2, 2 0, 2 1, ...
부모 개체의 인덱스에 액세스하려면
$parentContext.$index()
보다는
$parent.index()
가장 쉽게 찾을 수있는 방법은 크롬 용 "녹아웃 컨텍스트"를 다운로드하는 것입니다. 이것은 어떤 데이터가 어떤 요소에 바인딩되어 있는지 보여주고 특정 바인딩 된 요소에 대해 사용 가능한 함수 / 변수를 볼 수 있도록합니다. 이러한 상황을위한 놀라운 도구입니다.
참고 URL : https://stackoverflow.com/questions/10978551/access-index-of-parent-in-knockout-js
반응형
'developer tip' 카테고리의 다른 글
체크 스타일 대 PMD (0) | 2020.09.21 |
---|---|
Oracle 11g의 기본 비밀번호? (0) | 2020.09.21 |
Express.js req.ip가 :: ffff : 127.0.0.1을 반환합니다. (0) | 2020.09.21 |
Java로 현재 열려있는 창 / 프로세스 목록을 얻는 방법은 무엇입니까? (0) | 2020.09.21 |
SqlDataReader를 수동으로 닫고 폐기해야합니까? (0) | 2020.09.21 |