は、私はちょうど(ループの各反復でいくつかの余分なJavaScriptコードを実行したいと考えているあなたは、単純なノックアウトループは、などをループ
<!-- ko foreach: data -->
<div ... show something </div>
<!-- /ko -->
を持って言うことができますこのコードをモデルではなくビューに配置したい)。スクリプトタグを使用するのが適切かどうか分からないが、スクリプトタグ内に既に含まれているように、コードがノックアウトテンプレートの内側にあったとは思えない。
ノックアウトビューで通常のJavaScriptコードを実行することはできましたが、他にもいくつかのケースがあります。私はしばしばやりたいことではありませんが、まれに、他のものを変更するのではなく、通常のJSを使用する方が簡単かもしれません。
これをさらに追加すると、大きな配列をループしてリストをユーザーに提示する特定の状況が1つあります。このループの特定のポイントで、リストの残りの行を別々にレンダリングします。例えば、私のモデルの中で、行が一方向にレンダリングすべきかどうかを決定する関数を持つことができます。しかし、この比較演算は単純ではなく、2つの文字列を操作して比較する必要があります。 – Sam
私が考えていたもう1つの選択肢は、ループ内にフラグを使用することでした。所望の条件が満たされると、フラグがセットされ、残りの行が異なるレンダリングを行う。 (私がモデルで比較を行った場合に必要となるように、文字列が別の文字列の前に来るかどうかを判断する文字列を操作するのではなく、正確な文字列の一致を探すことができるので、フラグをモデルに格納するのではなく、フラグをループ内にローカルに格納することをお勧めします。なぜノックアウトループでJSを実行したいのですか? – Sam
これ以外にも、私はノックアウトビューの中で通常のJavaScriptを実行するパーティクルメソッドを知りたいと思っています。他の状況でまれにしか必要としないかもしれません。 – Sam