knockout同时绑定多个实体demo

1.我们会遇到一种情景:一个页面实现复杂的功能时,我们往往会使用部分页(.netmvc中的@renderaction,java中ajax请求jsp页面)。

如果子页面也使用knockout绑定数据会不会冲突呢?....不会的:如何demo会输出:guo、ze;但一定要绑定到不同的节点上。

demo:

  <script type="text/javascript">        $(function(){            var guo={                name:"guo",            };            var ze={                name:"ze",            };            var ViewModel = {                test:ko.observable(guo)            };            var ViewModel1 = {                test:ko.observable(ze)            };            ko.applyBindings(ViewModel,document.getElementById("div1"));            ko.applyBindings(ViewModel1,document.getElementById("div2"));        });    </script></head><body><div id="div1" data-bind="text:test().name">顶级页面</div><div id="div2" data-bind="text:test().name">子页面</div></body></html>
时间: 2024-12-22 06:30:48

knockout同时绑定多个实体demo的相关文章

Knockout双向绑定

knockout双工绑定基于 observe 模式,性能高.核心就是observable对象的定义.这个函数最后返回了一个也叫做 observable 的函数,也就是用户定义值的读写器(accessor). this.firstName=ko.observable(“Bert”); this.firstName(); this.firstName(“test”); ko.observable做了什么 ko.observable = function (initialValue) { var _l

Knockout 双向绑定的理解

今天做了个需求就是上传图片,然后在代码中通过jQuery给一个标签赋值,经过前台的debug,发现这个值赋值成功了,但是提交到后台的请求里就没了,然后经历了一顿度娘,结果中发现了问题. 既然knockout是双向绑定的,那么什么时候会做这个双向绑定的动作呢?结果就是会在文本框触发了change事件才会做双向绑定,所以说,手动通过jQuery来修改的时候,需要自己再手动触发次change $("#XXX").val("XXX").change()

[转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值

本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /***************************************** * 说明:利用反射将数据库查询的内容自动绑定 *       到实体类 * * 时间:1:49 2009-9-19 * * 程序员:王文壮 * ***************************************/ /****************数据库脚本***

Knockout自定义绑定数据

  var ko = require("knockout");var komap = require("/scripts/plugins/knockout/knockout.mapping.js"); _viewListModel = komap.fromJS(data); ko.bindingHandlers.datePicker = {     init: function (element, valueAccessor, allBindingsAccessor

Knockout基本绑定数据

官方地址:www.knockoutjs.com //使用require.js加载 requirejs(['knockout', 'knockout.mapping.js'], function (ko, komap) { //这个是自己封装的从服务器获取数据的方法 var _model = GetModelFromServer(); //一个插件,将model转为可以双向绑定数据 _viewListModel = komap.fromJS(data); //开始绑定,第一个参数:modelVie

knockout为绑定元素生成id

knockout 提供生成了uniqueName的方法,但没有提供生成Id的方法. 感谢stackoverflow提供的思路与方法. 下面是uniqueName的实现方法. ko.bindingHandlers['uniqueName'] = { 'init': function (element, valueAccessor) { if (valueAccessor()) { element.name = "ko_unique_" + (++ko.bindingHandlers['u

Knockout源代码精析-怎样解析demo元素,获取到bindings(二)?

接上文这里開始分析applyBindingsToNodeInternal.applyBindingsToNodeInternal方法例如以下: function applyBindingsToNodeInternal(node, sourceBindings, bindingContext, bindingContextMayDifferFromDomParentElement) { // Prevent multiple applyBindings calls for the same nod

KnockOut循环绑定

<!doctype html> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> KNOCKOUT LESSON 2 </title> <link rel="stylesheet" type="text/css" hre

Knockout自定义绑定my97datepicker

/* my97datepicker 时间格式'yyyy-MM-dd HH-mm-ss' */ ko.bindingHandlers.datetimes = { init: function (element, valueAccessor, viewModel) { var value = ko.utils.unwrapObservable(valueAccessor()); $(element).attr("class", "Wdate"); $(element).