ドキュメントhttp://knockoutjs.com/documentation/attr-binding.htmlを読みましたが、理由がわかりませんでした
<img data-bind="attr: {src: imgname}"/>
動作しますが
<img data-bind="src: imgname"/>
ではない...
このattr
バインディングは正確に何をし、何が特別なのsrc
ですか?
ドキュメントhttp://knockoutjs.com/documentation/attr-binding.htmlを読みましたが、理由がわかりませんでした
<img data-bind="attr: {src: imgname}"/>
動作しますが
<img data-bind="src: imgname"/>
ではない...
このattr
バインディングは正確に何をし、何が特別なのsrc
ですか?
なぜ"src: imgname"
仕事をする必要がありますか?
Knockoutには、テキストの外観を制御するための組み込みのバインディングが2つだけあり、これらは次のとおりです。
ご覧src
のとおり、リストにはありません。すべての組み込みのものは多かれ少なかれ自明ですが、組み込みのサポートなしで他の属性にバインドしたい場合、たとえば一般的な構文src
を使用する必要があります。attr
ドキュメントにも記載されているように:
attrバインディングは、関連付けられたDOM要素の任意の属性の値を設定する一般的な方法を提供します。これは、たとえば、要素のtitle属性、imgタグのsrc、またはビューモデルの値に基づいたリンクのhrefを設定する必要がある場合に役立ちます。
data-bind html5属性の「attr」はKnoclout.JSによって事前定義されたバインディングですが、2番目の例の「src」はそうではありません。