knockoutjs学习笔记:文本(Text)绑定

目标

主要用于显示行内元素(<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>

方法或者表达式

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>

或者

The item is <span data-bind="text: price() > 50 ? ‘expensive‘ : ‘affordable‘"></span> today.

在容器类绑定时,我们会想使用内部元素显示文本,但是在knockoutjs不起作用,比如:

<select data-bind="foreach: items">
    <option>Item <span data-bind="text: name"></span></option>
</select>

可以这样解决:

<select data-bind="foreach: items">
    <option>Item <!--ko text: name--><!--/ko--></option>
</select>

这样通过语法在元素之间抽象出来元素,编译之后Knockout 会建立相应的元素。

时间: 2024-12-16 03:56:28

knockoutjs学习笔记:文本(Text)绑定的相关文章

knockoutjs学习笔记:显示绑定

从何而来 本系列摘抄自knockoutjs官方文档,同时结合自身项目使用记录心得. 目标 knockoutjs实现CSS显示的绑定 例子 <div data-bind="visible: shouldShowMessage"> You will see this message only when "shouldShowMessage" holds a true value. </div> <script type="text

knockoutJS学习笔记07:绑定上下文

所谓绑定上下文就是当前绑定(dat-bind)所使用到的对象(ViewModel).在单个对象绑定的情况下是很容易理解的,但对象可能是复杂的类型,嵌套很多层,这个时候每层都有自己的上下文对象,理解起来就不是很方便了.ko通过上下文关键字,让层次间的关系变得更加清晰,相互访问变得更加简单. 一.$data 与 $index 上一篇介绍了ObservableArray和template,通常我们通过对象属性进行绑定,例如:data-bind="text:属性名称":但如果数组只是简单格式呢

2017-2-15从0开始前端学习笔记-文本

2017-2-15从0开始前端学习笔记-文本 标签 文本 粗体和斜体 <b>bold粗体</b> <i>italic斜体</i> 上标和下标 <sup>上标</sup> <sub>下标</sub> 空白 换行符和水品线 <br/>换行符 <hr/>水平线 语义化标记 加粗和强调 <strong>加粗 加强语气</strong> <em>强调 斜体 能改

knockoutJS学习笔记05:控制文本和外观绑定

测试数据: function Person(name,age){ var self = this; self.name = ko.observable(name); self.age = ko.observable(age); self.isShow = ko.observable(""); self.html = "<div>没有div</div>", self.isRed = true } var person = new Person(

KnockoutJS学习笔记10:KonckoutJS foreach绑定

KnockoutJS foreach绑定用来处理数组,通常用来将一个数组绑定到一个列表或者table中.在foreach绑定中,我们可以使用if.with等嵌套绑定. 示例代码: <table> <thead> <tr><th>First name</th><th>Last name</th></tr> </thead> <tbody data-bind="foreach: peop

knockoutJS学习笔记06:ko数组与模板绑定

前面已经介绍了基本的绑定和模板相关知识,接下来就看ko里的数组和模板绑定,数组和模板绑定应该是实际项目中用得比较多的,ko提供了很好的支持. 一.observaleArray 前面的监控属性都是单个对象,用的是ko.observable:有时候后台返回的是一个列表,也就是数组,这个时候就需要用监控数组了.监控数组与监控属性几乎一样,只不过它是一个数组对象,拥有数组的特点.例如:创建一个简单的监控数组: var arr = ko.observableArray(); 也可以开始就进行初始化: ar

knockoutJS学习笔记08:表单域绑定

前面的绑定都是用在基本标签上,这章主要讲表单域标签的绑定. 一.value 绑定 绑定标签:input text.textarea. <p>用户名:<input type="text" data-bind="value:name" /><span data-bind="text:name"></span></p> <p>密码:<input type="text

AngularJS1.X学习笔记2-数据绑定

上一篇从整体上认识了Angular,从现在开始更加深入的学习Angular的特性.本次学习的是数据绑定.应该所有的MVC框架都会用到数据绑定,比如我所知道的ThinkPHP.struts等,只有实现了数据绑定才能将模型层和视图层分离,实现MVC.Angular的数据绑定比较特别,它支持双向数据绑定. 1.ng-bind <!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> &

knockoutJS学习笔记03:knockout简介

通常来说,前端的维护难度是比较大的,特别是脚本,虽然像jquery这样的库可以帮助我们减少很多代码,但在稍微复杂的情况下,还是会产生有很多代码.上一篇介绍了模板引擎jsRender,它可以帮我们快速生成html,减少代码的编写,增强代码的可阅读性和可维护性.但最后也说到,它还是不够强大. 一.mvvm 说到mvvm,就想到以前学过的wpf,虽然学得一般...,对比winform,wpf 里面有很多很好的设计和想法,标签控件.数据驱动.依赖属性... .更关键的是,它是以数据为核心,通过数据驱动U