6. attr绑定

目的

attr绑定可以给关联DOM元素的任何属性赋值。这个绑定很棒,比如,当你想要设置通过视图模型给元素的title属性、img标签的src属性或超链接的href值,当视图模型对应的属性值改变时,绑定的属性值同样会自动改变。

例子

<a data-bind="attr: { href: url, title: details }">
Report
</a> <script type="text/javascript">
var viewModel = {
url: ko.observable("year-end.html"),
details: ko.observable("Report including final year-end statistics")
};
</script>

例子里面会设置元素的 href 属性为 year-end.html,而元素的 title 设置为 Report including final year-end statistics.

参数

  • 主参数

    你应该传入这样一个javascript对象,其属性名对应元素标签的属性名,其属性值对应你想要设置的属性值。

    如果你的参数是一个监控对象,值则会自动更新,否则,只会更新一次。

  • 额外参数

注意:当属性名不是合法的javascript变量名

如果你想设置属性data-something,你不能这样写:

div data-bind="attr: { data-something: someValue }">...</div>

因为data-something不符合变量命名规则。解决办法很简单,用引号括起来,因为一个字符串字面量是合法的javascript对象属性。例子:

div data-bind="attr: { 'data-something': someValue }">...</div>

注意:在旧版浏览器里面使用关键字作为属性名

在低版本浏览器(ie8及以下)使用关键字作为属性会报错,你同样可以用引号括起来解决:

<input data-bind="attr: { 'for': someValue }" />

依赖

只依赖KO核心库

最新文章

  1. linux 无交互添加用户设置密码
  2. JMeter常用测试元件—学习笔记
  3. cocoapods 更新失败 bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
  4. 从客户端中检测到有潜在危险的request.form值
  5. SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。
  6. C#学习笔记五: C#3.0Lambda表达式及Linq解析
  7. Delphi下获取IE的UserAgent的方法
  8. Lua,Lua API,配置文件
  9. javascript:void(0)的作用示例
  10. Redis跟Spring整合,sentinel模式
  11. androidstudio各版本下载地址
  12. Git使用手册【转】
  13. How to get all Errors from ASP.Net MVC modelState?
  14. php多种方式获得文件扩展名
  15. android-menudrawer 和SlidingMenu 用法
  16. 尚硅谷redis学习2-redis的安装和HelloWorld
  17. Windows8.1远程桌面时提示凭据不工作的解决方案
  18. if语句和switch语句
  19. ant 打批量渠道包,第三方项目作为library打包出错的问题
  20. 对于应用需要记录某个方法耗时的场景,必须使用clock_gettime传入CLOCK_MONOTONIC参数,该参数获得的是自系统开机起单调递增的纳秒级别精度时钟,相比gettimeofday精度提高不少,并且不受NTP等外部服务影响,能准确更准确来统计耗时(java中对应的是System.nanoTime),也就是说所有使用gettimeofday来统计耗时(java中是System.curre

热门文章

  1. MVC 下载相关
  2. Eclipse集成Maven环境(出现jar的解析或者缺失问题)(或者出现Invalid classpath publish/export dependency /common. Project entries not supported)的统一整理
  3. 进程间通信,把字符串指针作为参数通过SendMessage传递给另一个进程,不起作用
  4. UIView和Masonry实现动画效果
  5. ios自定义日期、时间、城市选择器
  6. Azure powershell 获取 vmSize 可用列表的命令
  7. nconf修改密码
  8. shell中的-z
  9. IOS小技巧整理
  10. Azure 项目构建 – 部署 Drupal 网站