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

javockのモデルでは、おそらくknockoutJS計算関数http://を使ってsourceItemをフィルタリングする必要があります。 /knockoutjs.com/documentation/computedObservables.html。私はアンダースコアを使ってフィルタリングを手助けしたい、それは1行で行うことができる。 – 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> 
関連する問題