2016-09-20 3 views
-3

사이트에서 뭔가를 편집하고 싶지만 올바르게 이해할 수 없습니다. 난 내가 알아낼 수 없습니다 무엇어떻게 작동하는지 모르십니까? KnockOutJS

{{ Hooks::renderHtml('Titles.Index.ForEachMovie') }} 

Titles.Index.ForEachMovie이 무엇 인 줄을 얻었다. 이 목록은 동영상 목록을 렌더링하며이 목록을 필터링하여 일부 목록 만 표시하려고합니다.

+0

속성은 다음과 같이 보입니까? 지금까지 이것도 knockouJS처럼 보이지 않습니다. – FailedUnitTest

+0

data-bind = "foreach : {data : sourceItems, afterRender : lazyLoadImage}" – Ibucalmin

+0

자바 스크립트 모델에서 knockoutJS 계산 함수 http : //를 사용하여 sourceItem을 필터링해야합니다. /knockoutjs.com/documentation/computedObservables.html. 나는 또한 필터링을 돕기 위해 밑줄을 사용하는 것을 좋아한다. 그것은 한 줄로 할 수있다. – FailedUnitTest

답변

0

'Titles.Index.ForEachMovie'는 백엔드에서 오는 목록입니다.

지금은 'Titles.Index.ForEachMovie'가 이와 같을 수 있습니다.

<table> 
    <thead> 
     <tr> 
      <th>Movie Name</th> 
     </tr> 
    </thead> 
    <tbody data-bind="foreach: Titles.Index.ForEachMovie"> 
     <tr> 

      <td data-bind="text: movieName",visible: movieId() == 2></td> 
     </tr> 
    </tbody> 
</table> 

또는 당신은 이런 식으로 뭔가를 할 수 있습니다 :

<script type="text/javascript"> 
    ko.applyBindings({ 
     Titles.Index.ForEachMovie: [ 
      { movieName: 'Titanic', movieId: 1}, 
      { movieName: 'The Secret life of Pets',movieId: 2 }, 
      { movieName: 'The guardian',movieId: 3 } 
     ] 
    }); 
</script> 

당신이 할 수있어 모두 사용하여이 목록을 반복한다 "볼 수"바인딩

데이터 바인드를 무엇
<table> 
     <thead> 
      <tr> 
       <th>Movie Name</th> 
      </tr> 
     </thead> 
     <tbody data-bind="foreach: Titles.Index.ForEachMovie"> 
      <tr> 
      <!-- ko if:movieId() == 2 --> 
       <td data-bind="text: movieName"></td> 
      <!-- /ko --> 
      </tr> 
     </tbody> 
    </table> 
관련 문제