Style绑定

style绑定是添加或删除一个或多个DOM元素上的style值。比如当数字变成负数时高亮显示,或者根据数字显示对应宽度的Bar。(注:如果你不是应用style值而是应用CSS class的话,请参考CSS绑定。)

Style简单示例

Profit Information

var viewModel = {

currentProfit:ko.observable(15000)

};

viewModel.currentProfit(-50);

ko.applyBindings(viewModel);

简单示例代码,运行后发现为红色的字体

当currentProfit 小于0的时候div的style.color是红色,大于的话是黑色。

该参数是一个JavaScript对象,属性是你的style的名称,值是该style需要应用的值。

你可以一次设置多个style值。例如,如果你的view model有一个叫isServre的属性,

...

如果参数是监控属性observable的,那随着值的变化将会自动添加或者删除该元素上的style值。如果不是,那style值将会只应用一次并且以后不在更新。

你可以使用任何JavaScript表达式或函数作为参数。KO将用它的执行结果来决定是否应用或删除style值。

应用的style的名字不是合法的JavaScript变量命名

如果你需要应用font-weight或者text-decoration,你不能直接使用,而是要使用style对应的JavaScript名称。

错误: { font-weight: someValue };            正确: { fontWeight: someValue }

错误: { text-decoration: someValue };      正确: { textDecoration: someValue }

attr绑定

attr 绑定提供了一种方式可以设置DOM元素的任何属性值。你可以设置img的src属性,连接的href属性。使用绑定,当模型属性改变的时候,它会自动更新。

attr绑定简单示例

Report

var viewModel = {

url: ko.observable("year-end.html"),

details: ko.observable("Report including final year-end statistics")

};

ko.applyBindings(viewModel);

运行后效果为

呈现结果是该连接的href属性被设置为year-end.html, title属性被设置为Report including final year-end statistics

该参数是一个JavaScript对象,属性是你的attribute名称,值是该attribute需要应用的值。

如果参数是监控属性observable的,那随着值的变化将会自动添加或者删除该元素上的attribute值。如果不是,那attribute值将会只应用一次并且以后不在更新。

应用的属性名字不是合法的JavaScript变量命名

如果你要用的属性名称是data-something的话,你不能这样写:

...

因为data-something 不是一个合法的命名。解决方案是:在data-something两边加引号作为一个字符串使用。这是一个合法的JavaScript 对象 文字(从JSON技术规格说明来说,你任何时候都应该这样使用,虽然不是必须的)。例如

...

Knockout.Js官网学习(创建自定义绑定)

前言 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid ...

Knockout.Js官网学习(系列)

1.Knockout.Js官网学习(简介) 2.Knockout.Js官网学习(监控属性Observables) Knockout.Js官网学习(数组observable) 3.Knockout.Js ...

Knockout.Js官网学习(selectedOptions绑定、uniqueName 绑定)

selectedOptions绑定 selectedOptions绑定用于控制multi-select列表已经被选择的元素,用在使用options绑定的元素上. 当用户在m ...

Knockout.Js官网学习(html绑定、css绑定)

Html绑定 html绑定到DOM元素上,使得该元素显示的HTML值为你绑定的参数.如果在你的view model里声明HTML标记并且render的话,那非常有用. 简单示例

Knockout.Js官网学习(enable绑定、disable绑定)

enable绑定 enable绑定使DOM元素只有在参数值为 true的时候才enabled.在form表单元素input,select,和textarea上非常有用. enable简单示例 < ...

Knockout&period;Js官网学习(简介)

前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到官网看了下,不过是英文的,自己果断搞不来,借用google翻译了一下.然后刚刚发现在建立asp.net mvc4.0的应用程 ...

Knockout&period;Js官网学习(value绑定)

前言 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件,和上. 当用户编辑表单 ...

Knockout&period;Js官网学习(event绑定、submit绑定)

event绑定 event绑定在DOM元素上添加指定的事件句柄以便元素被触发的时候执行定义的JavaScript 函数.大部分情况下是用在keypress,mouseover和mouseout上. 简 ...

Knockout&period;Js官网学习(click绑定)

前言 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用在button,input和连接a上,但是可以在任意元素上使用. 简单示例

随机推荐

红米3 SM71&period;1(android-7&period;1&period;1&lowbar;r6)更新发布20161229年末增强版

一.写在前面 我只是个人爱好,本ROM未集成任何第三方推广软件,我只是喜欢把好的资源分享出来,若可以,我们一起学习,一起进步. 请不要问我怎么刷机! 请不要问我玩游戏卡不卡(有钱你就换好点的手机)! ...

C&num; ~ NUnit单元测试

单元测试 单元测试(Unit Test)的一个测试用例(Test Case)是一小段代码,用于测试一个小的程序功能的行为是否正常,保证开发的功能子项能正确完成并实现其基本功能.一个单元测试是用于判断某 ...

一、Linux目录结构

转自:http://www.cnblogs.com/JCSU/articles/2770249.html 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbi ...

codeforces 651B Beautiful Paintings

B. Beautiful Paintings time limit per test 1 second memory limit per test 256 megabytes input standa ...

重新开始学习javase&lowbar;集合&lowbar;List

一,List之ArrayList(转:http://blog.csdn.net/zheng0518/article/details/42198205) 1. ArrayList概述: ArrayLis ...

14&period;2&period;5&period;6 Adaptive Hash Indexes 自适应Hash Indexes

14.2.5.6 Adaptive Hash Indexes 自适应Hash Indexes adaptive hash index(AHI) 让InnoDB 执行更加像在一个内存数据库里在, 在不牺 ...

超详细!Github团队协作教程(Gitkraken版)

超详细!Github团队协作教程(Gitkraken版) 一.前期工作 1. 在 Github 上创建 organization step1. 登录Github网站,点击右上角头像,选择 " ...

Winform 基础二 最小化 最大化 关闭 点击任务栏隐藏显示 点击鼠标左键移动窗体

一 最大化 二 最小化 三 关闭 四 点击任务栏隐藏显示 五 点击鼠标左键移动窗体 六 阴影效果鼠标左键移动窗口 #region UI设置 最大化.最小化.关闭.鼠标移动窗口.点击任务栏切换窗口 th ...

JVM总结(二):垃圾回收器

这一节我们来总结一下JVM垃圾收集器方面的东西. 垃圾回收器 判断对象引用是否失效 对象生存判断算法 引用判断过程 垃圾收集算法简介 垃圾收集器 新生代垃圾收集器 老年代垃圾收集器 新生代和老年代垃圾 ...

knockout+html绑定,Knockout.Js官网学习(style绑定、attr绑定)相关推荐

  1. Knockout.Js官网学习(创建自定义绑定)

    前言 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid ...

  2. Angular官网学习笔记

    Angular官网学习笔记 一.Angular概述 **什么是Angular:**一个基于TypeScript构建的开发平台包括: 一个基于组件的框架,用于构建可伸缩的Web应用 一组完美集成的库,涵 ...

  3. Spring AOP官网学习

    Spring AOP官网学习 5.1 AOP概念 让我们从定义一些核心的AOP概念和术语开始.这些术语并不是spring特有的.不幸的是,AOP术语不是特别直观. 1.Aspect(方面):跨多个类的 ...

  4. Node.js 官网入门教程(一) CommonJS 模块规范、Node.js REPL、console、CLI、exports

    Node.js 官网入门教程(一) CommonJS 模块规范.Node.js REPL.console.CLI.exports 文章目录 Node.js 官网入门教程(一) CommonJS 模块规 ...

  5. PCL官网学习OpenNI Grabber 调用奥比中光Astra s 遇到问题openni2_grabber.cpp @ 325 : No devices connected.

    PCL官网学习OpenNI Grabber 调用奥比中光Astra s 遇到问题openni2_grabber.cpp @ 325 : No devices connected. 问题描述 termi ...

  6. echarts.js 官网

    echarts.js 官网 http://echarts.baidu.com/ 效果: 代码: updated:function(){this.$nextTick(function () {/**** ...

  7. Node.js 官网入门教程(二) npm(安装、包版本、卸载、npx)、package.json(scripts、devDependencies)package-lock.json(语义版本规则符号

    Node.js 官网入门教程(二) npm(包管理.安装.包版本.卸载.npx).package.json(scripts.devDependencies).package-lock.json(语义版 ...

  8. postgresql 官网学习文档

    pg数据官网学习文档,PostgreSQL: Documentation 中文版:文档目录/Document Index: 世界上功能最强大的开源数据库...

  9. echarts.js官网

    echarts.js 官网 http://echarts.baidu.com/ 效果: 代码: updated:function(){this.$nextTick(function () {/**** ...

最新文章

  1. 电力电子技术第五版王兆安pdf_电力电子技术笔记(考试必备)
  2. Atom 插件手动安装
  3. 数据库索引数据结构总结——ART树就是前缀树
  4. 【控制】《多无人机协同控制技术》周伟老师-第5章-基于滑模控制的无人机编队运动控制策略
  5. 软引用、弱引用、 java
  6. springMVC 源码级别总结原理,DispatcherServlet核心方法
  7. mysql语句没出错一直抱错_为什么我的mysql语句一直报错,找不到错误,望各位大佬指点一番...
  8. python装饰器详解 带参数-python中的装饰器详解
  9. SpringBoot 定义通过字段验证
  10. java模式之工厂模式
  11. linux 高并发网络编程之epoll详解
  12. 2017/08/07 工作日志
  13. 禅道 非内置mysql_禅道
  14. 在互联网上,没有人知道你是一条狗?
  15. 【小强推歌】---香港历年10大中文金曲 下载 1978-2002
  16. 2022年11月路由器选购指南
  17. The project uses Gradle 4.1 which is incompatible with Java 11 or newer
  18. ipv6被拒的解决方法
  19. android全局的dialog,使android的dialog全局显示
  20. 拍什么内容发抖音会火?没粉丝的完全可以学习

热门文章

  1. 音乐满屋 sonos无线家庭音乐系统试用
  2. 使用eclipse创建基于SSM+Maven的小项目(简单的增删改查)
  3. Spark学习笔记(7)——RDD行动算子
  4. 客户管理系统,客户管理软件
  5. ALPU加密芯片应用技术解答
  6. 运维人员的得力助手——HotDB 智能巡检
  7. CSS学习笔记 #20201119
  8. 和家亲平台——4G智能设备接入Andlink协议
  9. PytorchKeras CIFAR10图像分类(详情介绍以及汇总所有博客)
  10. What is Plone?