当前位置: 首页 > 工具软件 > Knockout.js > 使用案例 >

knockoutjs六 with 绑定

伯庆
2023-12-01

knockoutjs六 with 绑定

今天要讲的是with绑定,with绑定和if有点相似,用官方文档的说法他的作用是创建了一个上下文,


 <h1 data-bind="text: city"> </h1>
    <p data-bind="with: coords">
        Latitude: <span data-bind="text: latitude"> </span>, Longitude: <span data-bind="text: longitude"> </span>
    </p>
    <script>

        function Model() {
            var self = this;
            city=ko.observable( "London");
                coords=ko.observable( {
                    latitude: 51.5001524,
                    longitude: -0.1262362
                });
        }
        var model = new Model();
        ko.applyBindings(model);

    </script>

因为用了with,所以with下面的子元素的节点就不需要使用coords.latitude和coords.longitude了,因为他们这时候的上下文已经切换到了coords下了。

当然with还有个作用,当with的条件是null或者是undefined,那么下面的子元素就不会加载,如果不空就加载,这样就避免了一些错误,不会当coords是null或者是undefined的时候还调用coords.latitude发生报错。
也可以使用虚节点调用with:


<ul>
    <li>Header element</li>
    <!-- ko with: outboundFlight -->
        ...
    <!-- /ko -->
    <!-- ko with: inboundFlight -->
        ...
    <!-- /ko -->
</ul>

这次的比较简单,就介绍这么多。代码托管在https://github.com/lushunming/knockoutJSDemo.git可以直接克隆。希望大家有意见可以留言,有疑问或者错误可以加我的qq1357197829和我交流

 类似资料: