0

さて、knockout.jsアプリケーションを開発していて、モデルにアニメーション関数を保持したくない場合は、アニメーション関数をどこに配置するのか疑問に思います(これは、アニメーション関数を配置するのに適切な場所ではないようです)...

http://knockoutjs.com/examples/animatedTransitions.html

4

1 に答える 1

1

モデル外の関数を参照することを妨げるものは何もありません。Knockout は最初にビューモデルを調べますが、何も見つからない場合はグローバル コンテキストを調べます。

HTML:

<ul data-bind="template: { foreach: labels, afterAdd: app.animations.afterAdd}">
    <ol data-bind="text: $data"></ol>
</ul>

JS:

app = {};    
app.animations = {};    
app.animations.afterAdd = function(elem){
    $(elem).hide().slideDown('slow');
};

これが機能することを示すフィドルがあります。

于 2012-11-12T22:33:30.753 に答える