KnockoutJS 3.X API 第四章之数据控制流with绑定

时间:2021-05-26

with绑定的目的

使用with绑定的格式为data-bind=”with:attribute”,使用with绑定会将其后所跟的属性看作一个新的上下文进行绑定。with绑定内部的所有元素将受到该上下文的约束。

当然,with绑定也可配合if或foreach绑定一起使用。

示例1

<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 type="text/javascript">ko.applyBindings({city: "London",coords: {latitude: 51.5001524,longitude: -0.1262362}});</script>

本例中,通过with直接绑定了coords监控属性,并在其内部直接调用了coords监控属性的内部属性。这里就体现了with绑定的特性。

示例2:一个互动的例子

该例子中将使用with绑定动态添加和删除其绑定值为null/undefined或非null/undefined

UI源码:

<form data-bind="submit: getTweets">Twitter account:<input data-bind="value: twitterName" /><button type="submit">Get tweets</button></form><div data-bind="with: resultData"><h3>Recent tweets fetched at <span data-bind="text: retrievalDate"> </span></h3><ol data-bind="foreach: topTweets"><li data-bind="text: text"></li></ol><button data-bind="click: $parent.clearResults">Clear tweets</button></div>

视图模型源码:

function AppViewModel() {var self = this;self.twitterName = ko.observable('@example');self.resultData = ko.observable(); // No initial valueself.getTweets = function() {var name = self.twitterName(),simulatedResults = [{ text: name + ' What a nice day.' },{ text: name + ' Building some cool apps.' },{ text: name + ' Just saw a famous celebrity eating lard. Yum.' }];self.resultData({ retrievalDate: new Date(), topTweets: simulatedResults });}self.clearResults = function() {self.resultData(undefined);}}ko.applyBindings(new AppViewModel());

备注:with的无容器绑定(虚拟绑定)

像if、foreach等的虚拟绑定一样,with绑定也一样。使用<!-- ko -->和<!-- /ko -->进行。

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

以上所述是小编给大家介绍的KnockoutJS 3.X API 第四章之数据控制流with绑定,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章