text绑定(The "text" binding)
目的
text绑定可以使你传递的参数做为文本显示到相关的DOM元素里。
一般会用在如<span>或者<em>这类元素来显示文本,但从技术来讲它可以绑定到任何元素。
示例
Today's message is: <span data-bind="text: myMessage"></span> <script type="text/javascript">
var viewModel = {
myMessage: ko.observable() // Initially blank
};
viewModel.myMessage("Hello, world!"); // Text appears
</script>
参数
- Main parameter
- knockout会把参数做为文本显示到元素中,原来存在的内容会被清除。
- 如果参数是observable的,那么当参数值改变时绑定也会发生更改。否则,只会在第一次绑定时更新文本内容,后面参数值改变时不会更新。
如果参数不是number或者string类型的(如传了一个对象或者数组),文本会把参数按toString()的方式显示。
- Additional parameters
- 无
注1:使用函数或者表达式来确定text值
如果想通过编码方式确定文本内容,可以选择使用computed observable。
示例
The item is <span data-bind="text: priceRating"></span> today. <script type="text/javascript">
var viewModel = {
price: ko.observable(24.95)
};
viewModel.priceRating = ko.pureComputed(function() {
return this.price() > 50 ? "expensive" : "affordable";
}, viewModel);
</script>
这样,text就会在"expensive"和"affordable"之间根据price的值进行切换显示。
另外,也可以不用computed observable,改用JS的表达式,如:
The item is <span data-bind="text: price() > 50 ? 'expensive' : 'affordable'"></span> today.
这两种做法的效果是一样的。
注2:HTML编码
text绑定的是文本内容,不用担心会产生HTML冲突或者脚本注入的问题,如:
viewModel.myMessage("<i>Hello, world!</i>");
这并不会产生一个斜体显示的文字,而是会原模原样的输出。如果的确需要输出HTML内容,则需要使用html binding.
注3:没有父元素如何显示文本内容
有时要显示text但是并不想将text绑定到任何元素上,如示例:
<select data-bind="foreach: items">
<option>Item <span data-bind="text: name"></span></option>
</select>
并不想让文本显示到span当中,此时可以这样:
<select data-bind="foreach: items">
<option>Item <!--ko text: name--><!--/ko--></option>
</select>
<!-- ko --> <!-- /ko -->注释扮演一个开始、结束的标识,定义了一个“虚拟”的元素。Knockout明白要做休处理,就像有一个真实的元素绑定一样。
注4:IE6的空格问题
IE6有个很奇怪的问题,有时会忽略空格,KO对此并没有做任何的处理,如下面的示例:
Welcome, <span data-bind="text: userName"></span> to our web site.
本来to our web site前面有一个空格的,但是在IE6下并不会显示处理,我们要这样处理:
Welcome, <span data-bind="text: userName"> </span> to our web site.
其它浏览器及IE6以上的版本没有这个问题。
text绑定(The "text" binding)的更多相关文章
- Text 绑定
Text绑定 目的 Text绑定主要是让DOM元素显示参数值. 通常情况下,该绑定在<span>和<em>这样的元素上非常有用,而实际上你可以绑定任何元素. 示例 123456 ...
- Knockout v3.4.0 中文版教程-11-控制文本内容和外观-text绑定
2. text绑定 目的 text绑定把传入的参数通过关联的DOM元素来显示文本值. 通常这对像<span>或<em>标签等使用,但技术上你可以对任何元素使用该绑定. 例子 T ...
- Knockout 新版应用开发教程之"text"绑定
目的 DOM元素显示文本的值是你传递的参数,前提是text先绑定到该元素上 典型的常用元素 <span>或者<em>习惯性的用来显示文本,但是在技术上来说你可以用任何元素的. ...
- Knockout.Js官网学习(text绑定)
前言 text 绑定到DOM元素上,使得该元素显示的文本值为你绑定的参数.该绑定在显示<span>或者<em>上非常有用,但是你可以用在任何元素上. 简单绑定 Today's ...
- 背水一战 Windows 10 (22) - 绑定: 通过 Binding 绑定对象, 通过 x:Bind 绑定对象, 通过 Binding 绑定集合, 通过 x:Bind 绑定集合
[源码下载] 背水一战 Windows 10 (22) - 绑定: 通过 Binding 绑定对象, 通过 x:Bind 绑定对象, 通过 Binding 绑定集合, 通过 x:Bind 绑定集合 作 ...
- 绑定: 通过 Binding 绑定对象, 通过 x:Bind 绑定对象, 通过 Binding 绑定集合, 通过 x:Bind 绑定集合
背水一战 Windows 10 之 绑定 通过 Binding 绑定对象 通过 x:Bind 绑定对象 通过 Binding 绑定集合 通过 x:Bind 绑定集合 示例1.演示如何通过 Bindin ...
- 关于iOS中的文本操作-管理text fields 和 text views
Managing Text Fields and Text Views 管理UITextField和UITextView实例 UITextField和UITextView的实例拥有两个最主要的功能:展 ...
- TEXT 15 A text a day...
TEXT 15 A text a day... Mar 24th 2006 From The Economist print edition The medical uses of mobile ph ...
- 一行代码轻松修改 Text Field 和 Text View 的光标颜色 — By 昉
众所周知,Text Field 和 Text View 的光标颜色默认都是系统应用的那种蓝色,如图: 而在实际开发中为了让视觉效果更统一,我们可能会想把那光标的颜色设置成和界面色调一致的颜色.其实在 ...
随机推荐
- IOS多线程加锁
注意:加锁位置不同产生结果不同 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { / ...
- KVM下windows虚拟机使用virtio驱动
KVM下windows虚拟机默认disk使用的是Qemu IDE硬盘,网卡默认是rtl8139网卡.为了使kvm主机在相同的配置下,有更好的效率,可以将网卡和磁盘替换成virtio的驱动. windo ...
- Crazy-Links
1. 数据模型 2. Admin Formset RED is customized class |- object |- AdminForm |- InlineAdminForm |- BaseFo ...
- 一些常见的CFD基本概念(飞机为例)(摘抄)
分享一些常见的,常用的但不容易掌握的CFD基础概念. 1.理想气体:不考虑流体粘性的影响. 2.不可压缩流体/恒密度:不考虑流体密度的变化.
- linux 安装mysql数据库
Ubuntu上安装MySQL非常简单,只需要打开终端,几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql- ...
- C#抽象类与接口的区别
一.抽象类:抽象类是特殊的类,只是不能被实例化(可以用派生类实例化基类对象):除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法(当然它可以有普通方法),这是普通类所不能的.抽象方法只能声明于 ...
- List之根据某个字段在add的时候过滤掉重复的数据
下面是重写ArrayList,并保证ChooseCars里面alpha字段不重复的例子 public class DistinctList extends ArrayList<ChooseCar ...
- Linux系统安装rar压缩软件
将 hebaodans.com 目录打包为 hebaodans.rar # rar a hebaodans.rar ./hebaodans.com/ 解压 hebaodans.rar 到当前目录 # ...
- Vanya and Field
Vanya and Field 题目链接:http://www.codeforces.com/problemset/problem/492/E 逆元 刚看到这题的时候一脸懵逼不知道从哪下手好,于是打表 ...
- Java知识补充
1.SUN,为standford university network 2.java的标志位咖啡,java本意为南美的一种咖啡.因为oak已被注册 3.JDK为java se development ...