1

私は KnockoutJS を調べています。これは本当に素晴らしいように見えますが、アニメーションを実装する方法があまり好きではありません。

それで、私の質問は、非常にアニメーションを多用するアプリケーションで、ノックアウトを使用する必要があるかということです。アニメーションを処理するための好ましい組織化された方法はありますか?

私の見方では、それは DOM 地獄か、その両方のわずかな混合物です。私はこの記事を読みましたが、いくつかのコード、主に次のコードは、すでに少し混乱しているように見えます。

<ol data-bind="foreach: queuedPhotos">
    <li data-bind="attr: { 'data-id' : queuedPhotoId }, click: select, css: { selected: $root.selectedPhoto() !== undefined && $root.selectedPhoto().queuedPhotoId() === queuedPhotoId() }">
        <img src="img/cross.png" alt="Remove" title="Remove" class="remove" data-bind="click: remove" />
        <img data-bind="attr: { 'src' : smallImageUrl, 'alt' : title, title: title }" />
    </li>
</ol>
4

2 に答える 2

0

計算されたオブザーバブルを使用します。メタデータには data-bind 属性のみを使用する必要があります。

data-bind="enable: canSave"

いいえ

data-bind="enable: errors().length == 0"

データバインド属性の使用を削除または最小限に抑えるライブラリもあります。構成より規約を使用するライブラリを作成しました。ここで確認してください。

https://github.com/AndersMalmgren/Knockout.BindingConventions

私のlibでこのコード行

<button data-bind="click: save, enable: canSave"></button>

だろう

<button data-name="save"></button>

http://jsfiddle.net/3Ajnj/

于 2013-04-30T06:54:18.843 に答える