You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
functionProduct(name,rating){this.name=name;this.userRating=ko.observable(rating||null);}functionMyViewModel(){this.products=[newProduct('Garlic bread'),newProduct('Pain au chocolat'),newProduct('Seagull spaghetti','like')// This one was already 'liked'];}ko.applyBindings(newMyViewModel());
functionProduct(name,rating){this.name=name;this.userRating=ko.observable(rating||null);}functionMyViewModel(){this.products=[newProduct('Garlic bread'),newProduct('Pain au chocolat'),newProduct('Seagull spaghetti','like')// This one was already 'liked'];}ko.applyBindings(newMyViewModel());
以上!!
The text was updated successfully, but these errors were encountered:
组件和自定义元素 -- 概览
组件 是一种强大、简单的方式来把你的UI代码封装到一个封闭的、独立的代码块中。
组件的特性:
这种模式适用于大型应用。因为它通过简单的组织和封装简化了开发,通过逐步按需加载应用的代码和模板来提升网页的实时性表现性能。
自定义元素 在自定义组件中,是一个非必须的但是很方便的语法。就不用仅限于用
div
作为标签了,你可以自定义标签名 例如<voting-button>
或者<product-editor>
等。 KO会保证自定义标签的兼容性,即使在IE6下!对,就是IE6,任性吧。例1 一个点赞控件
首先,先用
ko.components.register
注册一个组件(技术上,注册是可选的方式,但是它是一个最简单的方式)。组件定义了一个特殊的viewModel
和template
。例如:通常,从外部文件中加载视图模型和模板,而不是在像这样在代码中声明他们。稍后讲下原因。
现在,在应用中你可以从其他任何视图中引用这个组件,可以用组件绑定或者使用自定义元素的方式.下面有如何引用组件的例子:
视图层代码
视图模型代码
这个例子中,组件即展示又编辑了观察者
Product
的属性userRating
。例2 按照需要,从外部文件中加载点赞组件
在大部分应用中,组件都是以外部文件的形式存储的。如果你项目中用了AMD加载库比如 require,就可以按需加载或者预加载KO的组件。
看下面这个例子:
依赖
需要两个外部文件 files/component-like-widget.js和 files/component-like-widget.html 。可以点击链接查看代码--你会看到,这样比在文件内定义组件更方便和简洁了。
还有,你需要你需要 require 这样的库来引入你的组件文件。
使用组件
like-or-dislike
可以和以前一样的方式使用了。视图层代码
视图模型代码
以上!!
The text was updated successfully, but these errors were encountered: