2

ドキュメントhttp://knockoutjs.com/documentation/attr-binding.htmlを読みましたが、理由がわかりませんでした

 <img data-bind="attr: {src: imgname}"/>

動作しますが

 <img data-bind="src: imgname"/>

ではない...


このattrバインディングは正確に何をし、何が特別なのsrcですか?

4

2 に答える 2

3

なぜ"src: imgname"仕事をする必要がありますか?

Knockoutには、テキストの外観を制御するための組み込みのバインディングが2つだけあり、これらは次のとおりです。

  • 見える
  • 文章
  • html
  • css
  • スタイル
  • attr

ご覧srcのとおり、リストにはありません。すべての組み込みのものは多かれ少なかれ自明ですが、組み込みのサポートなしで他の属性にバインドしたい場合、たとえば一般的な構文srcを使用する必要があります。attr

ドキュメントにも記載されているように:

attrバインディングは、関連付けられたDOM要素の任意の属性の値を設定する一般的な方法を提供します。これは、たとえば、要素のtitle属性、imgタグのsrc、またはビューモデルの値に基づいたリンクのhrefを設定する必要がある場合に役立ちます。

于 2012-09-20T06:45:48.563 に答える
1

data-bind html5属性の「attr」はKnoclout.JSによって事前定義されたバインディングですが、2番目の例の「src」はそうではありません。

于 2012-09-20T06:41:28.400 に答える