Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 248|回复: 0

[默认分类] Knockout应用开发指南(完整版) 目录索引

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-4 12:38:17 | 显示全部楼层 |阅读模式
    使用Knockout有一段时间了(确切的说从MIX11大会宣传该javaScript类库以来,我们就在使用,目前已经在正式的asp.net MVC项目中使用),Knockout使用js代码达到双向绑定的目的,类似Silverlight/WPF里的绑定一样,我们主要就是利用相关的特性进行开发的,极大地减少了代码开发量。

    关于该系列文章:
    本系列文章共份10个章节(13篇),主要是翻译官方站点教程文章,然后加了一些自己的理解。有任何技术点不明白或者需要讨论的,欢迎大家留言拍砖。
    目录:
    Knockout应用开发指南 第一章:入门
    Knockout应用开发指南 第二章:监控属性(Observables)
    Knockout应用开发指南 第三章:绑定语法(1)
    Knockout应用开发指南 第三章:绑定语法(2)
    Knockout应用开发指南 第三章:绑定语法(3)
    Knockout应用开发指南 第四章:模板绑定
    Knockout应用开发指南 第五章:创建自定义绑定
    Knockout应用开发指南 第六章:加载或保存JSON数据
    Knockout应用开发指南 第七章:Mapping插件
    Knockout应用开发指南 第八章:简单应用举例(1
    Knockout应用开发指南 第八章:简单应用举例(2)
    Knockout应用开发指南 第九章:高级应用举例
    Knockout应用开发指南 第十章:更多信息
    更多例子:
    用Javascript评估用户输入密码的强度(Knockout版


    介绍:
    Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化。如果你还不了解Knockout是啥,先请看一下微软MIX11大会上的一段视频
    连接地址:http://channel9.msdn.com/Events/MIX/MIX11/FRM08
    或者直接运行下面的代码看看效果:



    View Code

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    2. <html>
    3. <head>
    4.     <script type="text/javascript" src="http://knockoutjs.com/js/jquery-1.4.2.min.js"></script>
    5.     <script type="text/javascript" src="http://knockoutjs.com/js/jquery.tmpl.js"></script>
    6.     <script type="text/javascript" src="http://knockoutjs.com/js/knockout-1.2.1.js"></script>
    7. </head>
    8. <body>
    9.     Choose a ticket class:
    10.     <select data-bind="options: tickets,
    11.                        optionsCaption: "Choose...",
    12.                        optionsText: "name",
    13.                        value: chosenTicket">
    14.     </select>
    15.     </p>
    16.     <p data-bind="template: "ticketTemplate"">
    17.     </p>
    18.     <script id="ticketTemplate" type="text/x-jquery-tmpl">
    19.         {{if chosenTicket}}
    20.             You have chosen <b>${ chosenTicket().name }</b>
    21.             ($${ chosenTicket().price })
    22.             <button data-bind="click: resetTicket">Clear</button>
    23.         {{/if}}
    24. </script>
    25.     <script type="text/javascript">
    26.         var viewModel = {
    27.             tickets: [
    28.                 { name: "Economy", price: 199.95 },
    29.                 { name: "Business", price: 449.22 },
    30.                 { name: "First Class", price: 1199.99 }
    31.             ],
    32.             chosenTicket: ko.observable(),
    33.             resetTicket: function () { this.chosenTicket(null) }
    34.         };
    35.         ko.applyBindings(viewModel);
    36.     </script>
    37. </body>
    38. </html>
    复制代码



    插件:
    Knockout也有丰富的插件可以使用,例如:
    你可以使用集成JQueryUI功能的插件来实现autoComplete功能:

    1. <input type="text" data-bind="autocomplete : autocompleteConfig"/>
    复制代码

    而没必要每次都要声明下面这样的代码:

    1. $( "#inputId" ).autocomplete({
    2.             source: availableTags
    3.         });
    复制代码


    或者如果你想用表单验证功能,你可以使用验证插件:

    1. var myObj = ko.observable("").extend({ max: 99 });
    复制代码

    或者

    1. <input type="text" data-bind="value: myProp" max="99"/>
    复制代码

    而不是每次在点击提交按钮的时候或者离开焦点的时候都去检查。

    结论:
    使用Knockout将极大减少JavaScript的开发量,是需要使用简单的绑定语法就可以很快速地应用到你的站点上。
    赶紧开始你的快速学习征程吧!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-24 07:54 , Processed in 0.362381 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表