摘要: 上面,你已经看到如何创建一个基本的数据模型以及如何利用绑定来显示它的属性。但是KO最重要的一个属性就是当View Model发生变化时能够自动的更新UI界面。KO是如何能够知道你的View Model已经发生改变了呢?答案是:你需要将你的model属性声明成observable的, 因为它是非常特殊的JavaScript 对象,能够通知用户它的改变以及自动检测依赖关系。例如:重写上述例子中的View Model为以下代码:你根本不需要对View进行更改,所有的data-bind语法依然正常工作。所不同的是,现在它能够自动检测变化,并通知它自动更新界面(View)。Reading and wri 阅读全文
posted @ 2013-11-18 15:26 风舞烟 阅读(212) 评论(0) 推荐(0) 编辑
摘要: Knockout是建立在以下3个核心功能之上的: 1、 属性监控与依赖跟踪 2、 声明式绑定 3、 模版机制 在本节中,我们将学习3个核心里面的第一个。但在这之前,先让我们学习一下MVVM设计模式和View Model的概念。Model-View-View Model (MVVM)是一种创建用户界面的设计模式。通过它只要将UI界面分成以下3个部分,就可以使复杂的界面变得简单:1、Model,用于存储你应用程序数据,这些数据表示你业务领域的对象和数据操作(例如:银行可以进行资金转账),并且独立于任何界面。当使用KO的时候,通常是使用Ajax向服务器请求数据来读写这个数据模型。2、View ... 阅读全文
posted @ 2013-11-18 15:20 风舞烟 阅读(346) 评论(0) 推荐(0) 编辑
摘要: Knockout的核心类库是纯JavaScript代码实现的,不依赖任何其他类库,所以按照如下步骤即将KO添加到你的项目里:1、下载Knockout的最新版本,在正式开发和产品使用中,推荐使用默认的压缩版本(knockout.x.x.js)下载地址:http://knockoutjs.com/downloads/index.html对于调试使用,推荐使用完整的未压缩版本(knockout-x.x.debug.js),压缩版和未压缩版功能相同,但是未压缩版本具有全变量名和注释,也没有隐藏内部的API,使得源代码更具可读性。 2、在你的HTML页面中通过 下面你就可以开始使用了。 如果你是刚开.. 阅读全文
posted @ 2013-11-18 15:08 风舞烟 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 1、Knockout.js是什么?Knockout是一款很优秀的JavaScript库,它可以帮助你仅使用一个清晰整洁的底层数据模型(data model)即可创建一个富文本且具有良好的显示和编辑功能的用户界面。任何时候你的局部UI内容需要自动更新(比如:依赖于用户行为的改变或者外部的数据源发生变化),KO都可以很简单的帮你实现,并且非常易于维护。2、KO重要特性以及优点 I、KO重要特性优雅的依赖跟踪-任何时候当数据源模型发生变化时,它都能够自动的更新你UI的指定内容。 声明绑定-它通过简单浅显的方式将你的UI与数据源模型进行绑定,你可以使用任意嵌套的结构模版来组建一个复杂的动态界面。... 阅读全文
posted @ 2013-11-18 15:00 风舞烟 阅读(355) 评论(0) 推荐(1) 编辑