首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Knockout.Js学习(简介)

前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到看了下,不过是英文,自己果断搞不来,借用google翻译了一下。...然后刚刚发现在建立asp.net mvc4.0应用程序时候,建完之后我直接在项目的Scripts中看到了 ? 这两个js类库,用谷歌翻译看了下官,Ko实现原理是MVVM,比MVC高级一些。...ViewModel包含所有由UI特定接口和属性,并由一个 ViewModel 视图绑定属性,并可获得二者之间松散耦合,所以需要在ViewModel 直接更新视图中编写相应代码。...开发人员可以专注于业务逻辑和数据开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。 4. 可测试。...开始使用Knockout.js  如果你建立像asp.net mvc 4.0这样Web应用程序,那么你可以不用任何操作即可以使用Knockout.js,如果你建立其他项目或许需要引用该类库。

2.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Knockout.Js学习(text绑定)

data-bind="text: myMessage"> <script type="text/javascript" src="~/Scripts/knockout-2.3.0.debug.<em>js</em>...原来<em>的</em>文本将会被覆盖。     如果参数是监控属性observable<em>的</em>,那元素<em>的</em>text文本将根据参数值<em>的</em>变化而更新,如果不是,那元素<em>的</em>text文本将只设置一次并且以后不在更新。    ...例如:如果你编写如下<em>代码</em>: viewModel.myMessage("Hello, world!");  它不会显示斜体字,而是原样输出标签。...如果你想编写如下代码的话,那Knockout将不起任何作用: 导航 1.KnockoutJs学习(简单了解和入门) 2.Knockout.Js学习(监控属性Observables) 3....Knockout.Js学习(数组observable) 4.Knockout.Js学习(visible绑定)

2.1K10

Knockout.Js学习(数组observable)

简单说,将一对象放在observableArray 里不会使这个对象本身属性变化可监控。当然你自己也可以声明这个对象属性为observable,但它就成了一个依赖监控对象了。...3.预加载一个监控数组observableArray 如果你想让你监控数组在开始时候就有一些初始值,那么在声明时候,你可以在构造器里加入这些初始对象。...所以你可以像获取普通observable值一样,只需要调用无参函数就可以获取自身值了。...5.IndexOf和slice   indexOf 函数返回是第一个等于你参数数组项索引。...例如:myObservableArray.indexOf('Blah')将返回以0为第一个索引第一个等于Blah数组项索引。如果没有找到相等,将返回-1。

1.2K40

Knockout.Js学习(监控属性Observables)

但是KO一个重要功能是当你view model改变时候能自动更新你界面。当你view model部分改变时候KO是如何知道呢?...答案是:你需要将你model属性声明成observable, 因为它是非常特殊JavaScript objects,能够通知订阅者它改变以及自动探测到相关依赖。...监控属性读操作(read) ///监控属性读操作(read) alert(myViewModel.personAge); 监控属性写操作(write) ///监控属性写操作...2.write — 可选,如果声明将使你依赖监控属性可写,别的代码如果这个可写功能写入新值,通过自定义逻辑将值再写入各个基础监控属性上。  ...导航 1.KnockoutJs学习(简单了解和入门)

1.4K30

Knockout.Js学习(event绑定、submit绑定)

event绑定 event绑定在DOM元素上添加指定事件句柄以便元素被触发时候执行定义JavaScript 函数。大部分情况下是用在keypress,mouseover和mouseout上。...Details <script type="text/javascript" src="~/Scripts/knockout-2.3.0.debug.<em>js</em>...submit绑定  submit绑定在form表单上添加指定<em>的</em>事件句柄以便该form被提交<em>的</em>时候执行定义<em>的</em>JavaScript 函数。只能用在表单form元素上。  ...当你使用submit绑定<em>的</em>时候, Knockout会阻止form表单默认<em>的</em>submit动作。换句话说,浏览器会执行你定义<em>的</em>绑定函数而不会提交这个form表单到服务器上。...可以很好地解释这个,使用  submit绑定就是为了处理view model<em>的</em>自定义函数<em>的</em>,而不是再使用普通<em>的</em>HTML form表单。

2.6K10

Knockout.Js学习(style绑定、attr绑定)

Profit Information <script type="text/javascript" src="~/Scripts/knockout-2.3.0.debug.<em>js</em>...ko.observable(15000) }; viewModel.currentProfit(-50); ko.applyBindings(viewModel); 简单示例<em>代码</em>...当currentProfit 小于0<em>的</em>时候div<em>的</em>style.color是红色,大于的话是黑色。 该参数是一个JavaScript对象,属性是你<em>的</em>style<em>的</em>名称,值是该style需要应用<em>的</em>值。...应用<em>的</em>style<em>的</em>名字不是合法<em>的</em>JavaScript变量命名  如果你需要应用font-weight或者text-decoration,你不能直接使用,而是要使用style对应<em>的</em>JavaScript名称...你可以设置img<em>的</em>src属性,连接<em>的</em>href属性。使用绑定,当模型属性改变<em>的</em>时候,它会自动更新。

3.9K20

Knockout.Js学习(Mapping高级用法一)

前言 有时候,在使用ko.mapping.fromJS时候,可能有必要去使用mapping高级用法来定义mapping详细过程,以后定义了,以后再调用时候就不必再定义了。...这不是我们所期望,我们期望是只是把name从Alicw更新成Alicws,不是替换整个item项。发生原因是,默认情况下mapping plugin插件只是简单地比较数组里两个对象是否相等。...代码如下: var mapping = { 'children': { key: function(data) {...,mapping插件都会检查数组项id属性来判断这个数组项是需要合并还是全新replace。...它接受一个需要替代对象以及和create 回调一样options参数,你应该return更新后值。

1.2K10
领券