在淘汰赛中,使用attr {.....}之间有什么区别?

时间:2012-09-20 06:36:50

标签: javascript knockout.js

我阅读了文档http://knockoutjs.com/documentation/attr-binding.html,但无法理解原因

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

有效但

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

没有......


attr绑定究竟做了什么以及src有什么特别之处?

2 个答案:

答案 0 :(得分:3)

为什么"src: imgname"有效?

Knockout中只有几个用于控制文本外观的内置绑定,如下所示:

  • 可见
  • 文本
  • HTML
  • CSS
  • ATTR

因此,您看到src不在列表中。所有构建的都是或多或少是自我展示的,但是当你想要绑定到某些其他属性而没有内置支持时,例如src您需要使用通用attr语法。

正如documentation中所述:

  

attr绑定提供了设置any值的通用方法   属性用于关联的DOM元素。这很有用,例如,   当你需要设置一个元素的title属性时,一个src的src   img标签,或基于视图模型中值的链接的href

答案 1 :(得分:1)

数据绑定html5属性中的

'attr'是Knoclout.JS的预定义绑定,相反,第二个示例中的'src'不是。