zoukankan      html  css  js  c++  java
  • 翻译:Knockout 轻松上手

    原文名称:KnockoutJS Starter

    Knockout 是一个非常棒的脚本库,可是我发现许多人并不了解它,所以,思胜翻译了这本著作。

    这一节,我们将会讨论 Knockout 可以做什么,又如何使用它的功能。

    Knockout 是一个 JavaScript 脚本库

    Knockout ,从本质上讲,是一个 JavaScript 脚本库,可以用在网站或者网页的开发中。用来增强脚本的功能以便提供更好的客户体验。默认情况下,除非你调用 Knockout ,否则它什么都不会做。这是区别其他的脚本库或者框架很重要的一点。你可以从这里下载它

    Knockout 是一个 MVVM ( Model-View-ViewModel ) 库

    创建 Knockout 的一个重要原因是在 Web 开发中可以应用 MVVM 模式。MVVM 是一种与面向对象不同的开发方式,通过将界面的逻辑与业务逻辑进行分离,达到可测试的目的。

    有很多的原因值得我们写可测试的代码 ( 这可以用整本的书来讲 ),但是最重要的原因是代码的可维护性和质量的保证。写可测试的代码,代码会变得更加容易维护。不管怎么说,使用 MVVM 模式创建 Javascript 程序,比直接使用 DOM 的事件来编写程序,要花费更短的时间。

     

    上面的图表说明了使用 MVVM 进行开发的基本组件及其通讯的关系。你可以看到 View,Model,ViewModel 表示为一个个的块。第一个要注意的是 Model,Model 是一个对象,通常直接表示现实中的业务逻辑。它会包含对应业务逻辑的的属性和方法。如果你使用 Model 来表示一个汽车,那么可能如下属性:

    • 最大速度
    • 轮胎数量
    • 制造商

    同时,还有一些功能:

    • 鸣笛
    • 前进

    MVVM 中的第二个特性是 View, View 由 HTML 标记,布局,元素,颜色,以及其他的可视的界面元素组成。它里面没有逻辑和代码,完全使用定义进行说明 ( 所有的说明都使用纯粹的 HTML 完成 )。

    MVVC 的第三个部分是 ViewModel,ViewModel 提供了 View 和 Model 之间的连接。如果你设计一个 ViewModel 来表示多辆汽车,它的属性可能如下:

    • 汽车集合 ( Array )
    • 当前的汽车 ( Object )

    方法

    • 添加汽车
    • 对汽车排序

    ViewModel 允许你将业务逻辑在 Model 中实现,而在 ViewModel 中实现界面的控制逻辑。用术语来说就是“分离方面”,这对于大型的 Web 应用开发来说很重要。

    最后一个 MVVM 的特性称为 Binding 绑定。Binding 是连接用户界面的属性,事件到 ViewModel 的属性,方法的理想途径。关于绑定的一个例子可以是界面的一个按钮,通过点击它来调用 ViewModel 的 AddAutoMobile 函数,或者将界面上的多个按钮连接到 AddAutoMobile 函数上。

    在 MVVM 中,类似于 View 一般使用定义式的语法进行说明,Binding 也在视图中通过定义进行说明,Knockout 也不例外,而且大量使用 HTML5 兼容的 data-bind 属性进行绑定说明。

    坚实又优美的 MVVM 库,比如 Knockout 可以使你关注在应用的业务逻辑和核心功能上,而不是把时间花费在事件的注册,取消注册上,在数据发生变化的时候更新输入框的值这些细碎的问题上。

     这是一个非常棒的视频,即使你听不懂英语,也一样可以通过它学会使用 Knockout。

    视频地址:http://channel9.msdn.com/Events/MIX/MIX11/FRM08

  • 相关阅读:
    MySQL 5.7--------SSL连接最佳实战
    Redis服务搭建及操作
    3.MongoDB基本命令用法
    1.MySQL数据库常用命
    ARM架构安装Kubernetes集群
    更新iManager离线镜像包方法
    iManager for K8S 配置https证书流程步骤
    iManager微服务(云套件)配置https证书流程步骤
    Docker修改IP地址方法
    SuperMap iPortal对接流数据方案
  • 原文地址:https://www.cnblogs.com/haogj/p/3444437.html
Copyright © 2011-2022 走看看