1

Durandal ベースの SPA では、ビュー モデルによって大幅に制御される html5 ビデオ プレーヤーが必要です。ビューモデルは、再生、シーク、時間表示、ソースの変更などを制御します...これを行うには、ビデオタグのプロパティと関数にアクセスできるように、ビューモデルがhtmlビデオノードを直接参照する必要があります。

これを行う最も簡単な方法は、ビューに空のビデオ タグを追加し、jquery を使用してビュー モデルのcompositionComplete()関数でそれへの参照を取得することです。ただし、これにより、ビューモデルがビューに緊密に結合されています。

ビューモデルで(経由でdocument.createElement('video'))htmlタグを作成し、それをビューモデルのプロパティとして設定し、ノックアウトでページに追加する方法はありますか? knockoutjs のドキュメントによると、html:データ バインド句はプロパティに.ToString()タグを付けるinnerHtmlため、JavaScript はページに表示される同じビデオ タグへの直接参照を保持しません。

MVVM の方法でこれを行う適切な方法は何でしょうか、または jquery でビデオタグを引き出すのが最善の策ですか?

ありがとう、

4

2 に答える 2

1

LostInComputer の回答に関する私のコメントへのフォローアップ:

ko.bindingHandlers.el={
  init: function(element, valueAccessor) {
    valueAccessor()(element);
  }
};

使用:

<video data-bind="el: myVideoElement, ..."></video>

myVideoElement()これで、ビデオの DOM 要素が表示されます。

于 2013-10-29T21:25:36.457 に答える