`
Nami_Sup
  • 浏览: 5242 次
文章分类
社区版块
存档分类
最新评论

Knockout

 
阅读更多

参考:http://www.cnblogs.com/TomXu/archive/2011/11/21/2257154.html

因为网上教程太少了,但是客户需要用knockout框架,还是不得不去找,根据网上的来源做了简单的Demo,其实就加了点注释

Demo1:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8"></meta>
		<title>ko1</title>
		<script src="jquery-1.10.2.min.js" type="text/javascript"></script>
		<script src="knockout-3.3.0.js" type="text/javascript"></script>
		<script src="knockout.validation.min.js" type="text/javascript"></script>
	</head>
	<body>
		<!-- 显示ViewModel的View -->
		<div>
			<p data-bind="text: firstName"></p>
			<p data-bind="text: lastName"></p>
			<input data-bind="value: firstName"/>
			<input data-bind="value: lastName"/>
		</div>
		<script>
			//定义ViewModel
			var ViewModel = function () {
				this.firstName = "吃兔纸";
				this.lastName = "不吐毛";
			}
			//applyBindings()一定要放最后面,不然无效
			//绑定ViewModel
			ko.applyBindings(ViewModel);
		</script>
	</body>
</html>

 Demo2:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8"></meta>
		<title>ko2</title>
		<script type="text/javascript" src="knockout-3.3.0.js">
			//首先导入knockoutjs框架
		</script>
	</head>
	<body>
		<!-- 显示ViewModel的View -->
		<h3>午餐时间</h3>
		<p>菜单: 
		<select data-bind="options: availableMeals,
							optionsText: 'mealName',
							value: chosenMeal">
		</select>
		<!-- 通过ko.observable()把值显示在页面 -->
		<p>
			你已选择:
			<b data-bind="text: chosenMeal().description"></b>
			(价格: <span data-bind='text: chosenMeal().extraCost'></span>)
		</p>
		
		<!-- 因为applyBindings()绑定的时候需要在最后面 -->
		<script>
			//定义ViewModel
			//使用KO的时候,通常说是向服务器调用Ajax读写这个存储的模型数据
			var availableMeals = [
				{ mealName: '标准餐', description: '干面包皮', extraCost: 0 },
				{ mealName: '优质餐', description: '新鲜芝士面包', extraCost: 9.95 },
				{ mealName: '豪华餐', description: '牛排和葡萄酒', extraCost: 18.50 }
			];
			
			//var viewModel = {
				//chosenMeal: ko.observable(availableMeals[0])
			//};
			
			//ko.applyBindings(viewModel); 
			
			function viewModel() {
				//可以监控(observe)属性的值并且回应它的变化
				this.chosenMeal = ko.observable(availableMeals[0])
			}

			ko.applyBindings(new viewModel()); 
			
			//applyBindings()一定要放最后面,不然无效
			//绑定ViewModel
			//不知道为什么绑定一个空函数也可以使用availableMeals[]的数据
			//激活knockout
			//ko.applyBindings(availableMeals);
		</script>
	</body>
</html>

 Demo3:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8"></meta>
		<title>ko5</title>
		<script type="text/javascript" src="jquery.validate.min.js"></script>
		<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
		<script type="text/javascript" src="knockout.validation.min.js"></script>
		<script type="text/javascript" src="knockout-3.3.0.js"></script>
	</head>
	<body>
		<p>First name: <input data-bind="value: firstName"/></p>
		<p>Last name: <input data-bind="value: lastName"/></p>
		<h2>Hello, <span data-bind="text: fullName"> </span>!</h2>

		<script type="text/javascript">
			var viewModel = {
				firstName: ko.observable("吃兔纸"),
				lastName: ko.observable("不吐毛")
			};

			//dependentObservable()依赖监控属性
			viewModel.fullName = ko.dependentObservable(function () {
				return viewModel.firstName() + " " + viewModel.lastName();
			});

			ko.applyBindings(viewModel);
		</script>
	</body>
</html>
分享到:
评论

相关推荐

    PS抠图神器:KnockOut 2.88汉化版下载及教程

    PS抠图神器:KnockOut 2.88汉化版下载及教程,1、执行 knockout2.0安装 文件夹中的setup.exe,第一个安装目录默认即可,第二个目录为 photoshop(只支持32位) 安装目录下的plug-ins文件夹; 2、执行 V2.88 Update ...

    抠图滤镜knockout2.88安装版(支持win8、win7、XP)

    PS抠图专业插件 Knockout2.88安装版: 经本人测试完美解决WIN7及以上系统上\绿色版精剪版\ 不可用问题。 安装版原版为英文,压缩包内 knockout2.0汉化补丁文件夹 内为汉化补丁; 安装执行Setup.exe即可; 汉化补丁...

    KnockOut 2.88 支持32及64位版.rar

    KnockOut抠图插件,支持32、64位版系统(与photoshop位数无关) 目前测试使用win10(64位)、photoshop cs6 13.0(32位) 1.下载后放在photoshop安装目录中的Plug-ins中(解压后Plug-ins文件夹中应该会包含:KnockOut.8bf...

    极品抠图软件(PS外挂滤镜)KnockOut_2.0绿色汉化特别版(附教程)

    2000年1月,COREL把它从它原来的东家那里收购回来之后,KNOCKOUT就改了姓氏,变成Procreate KnockOut (Procreate 是Corel的一个专业产品系列),级别也长了2次,现在已经是2.0版本了。它的形式和功能也都随之有了...

    knockout-master.zip

    "knockout-master.zip" 是一个包含Knockout源代码的压缩文件,Knockout是一个流行的JavaScript库,专为构建富交互式的Web应用程序而设计。它利用MVVM(Model-View-ViewModel)模式,帮助开发者轻松地管理DOM元素与...

    knockout seajs .net中实战应用

    在IT行业中,Knockout和Sea.js是两个非常重要的JavaScript库,它们在Web开发中扮演着关键角色。本文将深入探讨这两个技术在.NET环境中的实际应用,并结合Ajax技术,为前端开发提供强大的支持。 首先,让我们了解下...

    knockout-amd-helpers

    《深入理解knockout-amd-helpers:构建可复用的Knockout模块》 在JavaScript的世界里,AMD(Asynchronous Module Definition)模式已经成为一种流行的方式,用于组织和加载模块化代码,尤其在大型项目中,它能有效...

    mvc4+knockout无刷新增删改查

    **标题解析:** "mvc4+knockout无刷新增删改查" 指的是使用ASP.NET MVC 4框架结合Knockout.js库来实现Web应用中的数据操作功能,包括添加、删除、修改和查询,而且这些操作都是在不刷新整个页面的情况下完成的,即...

    Knockout 2.0 汉化特别版

    **Knockout 2.0 汉化特别版**是一款强大的JavaScript库,主要用于构建可维护的、数据绑定的Web用户界面。它采用MVVM(Model-View-ViewModel)设计模式,使得前端开发人员能够更方便地处理DOM(文档对象模型)与应用...

    PS抠图神器:KnockOut 2.88汉化版及教程

    1、执行 knockout2.0安装 文件夹中的setup.exe,第一个安装目录默认即可,第二个目录为 photoshop(只支持32位) 安装目录须设置为Photoshop目录下的/Plug-ins/Filters文件夹中。(若没有Filters文件夹就需要自己...

    滤镜knockout20汉化

    【标题】:“滤镜knockout20汉化”指的是对KnockOut 2.0这款专业级图像处理滤镜的中文本地化过程。KnockOut 2.0是一款强大的图像选择工具,允许用户精确地从复杂背景中提取物体,其效果如同“knock out”(击出)...

    ASP.NET MVC 5 with Bootstrap and Knockout

    之前在一家公司里用过Knockout,是easyui 和 Knockout结合 的。下面的这本应该不错。 目录 前言 第一部分入门指南 第1章MVC介绍 创建第一个项目 分析HomeController 分析View 理解URL结构 小结 第2章...

    knockout2.0 抠图 教程

    Knockout 2.0 是一个专业级的抠图工具,由 Corel 公司开发,主要用于从复杂背景中精确地提取图像对象。这个教程主要讲解如何使用 Knockout 2.0 进行抠图以及如何在 Photoshop 中应用。 1. **Knockout 2.0 的优势** ...

    Corel Knockout 2.0(PS抠图插件)

    Corel Knockout 2.0是一款专为Adobe Photoshop设计的高级抠图插件,它以其卓越的图像分离技术和用户友好的界面赢得了众多摄影师和设计师的青睐。这款插件旨在提供比Photoshop内置工具更为精确和高效的选区创建方法,...

    MVC+Knockout实现新表单操作

    在本文中,我们将深入探讨如何使用MVC(Model-View-Controller)框架结合Knockout.js库来实现新表单的操作,包括数据的新增、修改和删除。Knockout.js是一个强大的JavaScript库,它提供了MVVM(Model-View-ViewModel...

    KnockOut 2.77-超强抠图软件及教程

    《KnockOut 2.77 - 超强抠图软件详解及实践教程》 在数字图像处理领域,抠图是一项至关重要的技术,它能够让用户精确地从背景中提取出所需的对象,以便进行后期合成或者独立编辑。KnockOut 2.77 就是一款被誉为...

    TypeScript和Knockout结合使用的例子

    TypeScript和Knockout都是JavaScript的扩展,它们在Web开发中有着不同的作用。TypeScript是Microsoft推出的一种强类型、面向对象的编程语言,它在JavaScript的基础上增加了静态类型系统和类等特性,提升了代码的可...

    基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发

    1、基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2、采用MVC的框架模式,具有耦合性低、重用性高、生命周期成本低、可维护性高、有利软件工程化管理等优点 3、采用WebAPI,客户端完全摆脱了...

Global site tag (gtag.js) - Google Analytics