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 会建立相应的元素。

你可能感兴趣的:(knockout)