KnockOut 绑定之foreach绑定】的更多相关文章

foreach绑定对于数组中的每一个元素复制一节标记语言,也就是html,并且将这节标记语言和数组里面的每一个元素绑定.当我们呈现一组list数据,或者一个表格的时候,十分有用. 如果你绑定的数组是一个"监控数组" ,observable array,(和wpf里面的ObservableCollection<T>差不多).当你添加或移除,或者重新排序数组里面的元素的时候,会动态的更新UI界面.并且此时并不会影响原先的DOM元素.这样比我们直接重新生成一个数组并且绑定元素高效…
什么时候使用foreach绑定 foreach绑定对于数组中的每一个元素复制一节标记语言,也就是html,并且将这节标记语言和数组里面的每一个元素绑定.当我们呈现一组list数据,或者一个表格的时候,十分有用. 如果你绑定的数组是一个"监控数组" ,observable array,(和wpf里面的ObservableCollection<T>差不多).当你添加或移除,或者重新排序数组里面的元素的时候,会动态的更新UI界面.并且此时并不会影响原先的DOM元素.这样比我们直接…
2. 控制流 1. foreach绑定 目的 foreach绑定会遍历一个数组,为每个数组项生成重复的元素标记结构并做关联.这在渲染列表或表格的时候特别有用. 假设你的数组是一个监控数组,之后无论你进行添加,移除还是重新排序,对应的UI结构也会发生相应变化 -- 插入或移除标记结构,或者重排已存在的DOM元素.这不会影响其他的DOM元素,这远比数组发生改变后重新渲染生成foreach输出结构快多了. 当然,你可以嵌套任意数量的foreach绑定,或者其他的控制流绑定,比如if绑定和with绑定.…
控制流绑定器 “foreach”绑定 顾名思义,通过该绑定我们就可以将监控数组循环输出到页面中去了,当然我们还是先来段简单的示例,仅仅只是输出监控数组: <ul data-bind="foreach:people" > <li data-bind="text:Name"></li> </ul> <script type="text/javascript"> var appViewMode…
本篇体验使用 foreach 绑定一个Product集合. 首先使用构造创建一个View Model. var Product = function(data) { this.name = ko.observable(data.name); this.category = ko.observable(data.category); }; 由于是从服务端返回json数据,待会服务端返回Products集合的时候,可以构建一个key为name和category的json格式. 而foreach需要绑…
Binding context binding context是一个保存数据的对象,你可以在你的绑定中引用它.当应用绑定的时候,knockout自动创建和管理binding context的继承关系.这种层次结构的根引用你指定的viewModel参数(ko.applyBindings(viewModel)). 然后每次使用一个控制流如with或者foreach 来创建一个子节点binding context引用嵌套的viewModel data. $parent <h1 data-bind=&quo…
目的 模板绑定使用数据render模板,然后把渲染的结果填充到Dom树中.模板通过重复或嵌套块(通常为您的视图模型数据的函数)用一种简单,方便的方式来建立复杂的UI结构 . 有两种方式使用模板: Native templating它由foreach, if, with,或其它控制流绑定(control flow bindings)组成 . 这些控制流绑定捕捉包含你指定的所有HTML标记,把它作为模板来呈现任意数据项目,此特性由Knockout内置,无需任何扩展库. String-based te…
example(click绑定) Click绑定对DOM元素添加一个函数,当DOM元素被点击的时候调用.在button,input 或者a标签中常用,但其实他适用于任何可见的DOM元素. 每当你点击button按钮的时候,viewModel 里面的incrementClickCounter() 函数被调用,然后更新 numberOfClicks 的值,然后更新界面 我们可以调用任何javaScript函数,可以不在view model里面,也可以以someObject.someFunction的…
foreach绑定 foreach绑定主要用于循环展示监控数组属性中的每一个元素,一般用于table标签中 假设你有一个监控属性数组,每当您添加,删除或重新排序数组项时,绑定将有效地更新UI的DOM-插入或去除相关项目或重新排序现有的DOM元素,不影响任何其他的DOM元素. 当然,也可以配合其他控制流一起适用,例如if和with. 示例1:遍历监控属性数组 本例适用foreach绑定,在一个table标签中循环显示监控属性数组的内容 <table> <thead> <tr&g…
event绑定 event绑定在DOM元素上添加指定的事件句柄以便元素被触发的时候执行定义的JavaScript 函数.大部分情况下是用在keypress,mouseover和mouseout上. 简单示例 <div> <div data-bind="event: { mouseover: enableDetails, mouseout: disableDetails }"> Mouse over me </div> <div data-bin…