为什么这个js代码不起作用
Why this js code is not working?
我在2 Model上使用knockout.js,但这不起作用。
function AppViewModel1(Name) {
this.firstName = ko.observable(Name.fn);
this.lastName = ko.observable(Name.ln);
}
function AppViewModel2(Name) {
this.first = ko.observable(Name.fn);
this.last = ko.observable(Name.ln);
}
ko.applyBindings(new AppViewModel1({ fn : "yahoo", ln: ".in" }));
ko.applyBindings(new AppViewModel2({ fn : "gmail", ln: ".com" }));
有人能解释一下我错在哪里吗?
通常,Knockout只允许绑定到单个视图模型。
视图模型可以包含对其他JS对象/类的引用,但只能绑定一个视图模型。
然而,Knockout中有一个插件可用于绑定多个视图模型:
https://github.com/hunterloftis/knockout.namespaces
看看它,看看它是否能解决您的问题
您需要限制绑定应用于dom的哪个部分。您可以在同一页面/文档上绑定多个视图模型,但它们不能重叠。因此,请指定一些ID,并将绑定限制在页面的不同部分。
或者,您可以传递第二个参数来定义要搜索文档中数据绑定属性的部分。例如,
ko.applyBindings(myViewModel, document.getElementById('someElementId'))
。这将激活限制为ID为someElementId的元素及其子元素,如果您希望拥有多个视图模型并将每个视图模型与页面的不同区域相关联,这将非常有用。
来自击倒可观察性文件
示例:
function AppViewModel1(Name) {
this.firstName = ko.observable(Name.fn);
this.lastName = ko.observable(Name.ln);
}
function AppViewModel2(Name) {
this.first = ko.observable(Name.fn);
this.last = ko.observable(Name.ln);
}
ko.applyBindings(new AppViewModel1({ fn : "yahoo", ln: ".in" }),
document.getElementById('gmailArea'));
ko.applyBindings(new AppViewModel2({ fn : "gmail", ln: ".com" }),
document.getElementById('yahooArea'));
如果您绝对必须在页面的相同部分中访问相同的视图模型,那么您只需要将所有视图模型合并到一个视图模型中。不漂亮,但很漂亮。
例如
function AppViewModel1(Name) {
this.gmailFirstName = ko.observable(Name.gmailFn);
this.gmailLastName = ko.observable(Name.gmailLn);
this.yFirst = ko.observable(Name.yFn);
this.yLast = ko.observable(Name.yLn);
}
ko.applyBindings(new AppViewModel1({ gmailFn: "google", gmialLn: ".com", yFn : "yahoo", yLn: ".in" }));
我没有在jimmym链接中使用名称空间plulgin,但它听起来很有趣。
相关文章:
- d3js文本传输-示例代码不起作用
- 滚动动画代码不起作用
- 为什么此验证代码不起作用
- 我的jquery代码不起作用.为什么?
- jquery中的PHP代码不起作用
- 谷歌地图代码不起作用
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- 除非连接插件,否则 jQuery 代码不起作用
- 简单的JavaScript代码不起作用
- Angular资源对我的代码不起作用
- 在加载javascript之前让页面加载的代码不起作用
- 为什么这个jquery代码不起作用
- 直接从代码笔复制的圆环图代码不起作用
- javascript代码不起作用
- javascript验证代码不起作用
- 代码不起作用.我无法确定这个问题
- 为什么这个js代码不起作用
- 重定向到PDF时像素跟踪代码不起作用
- hasClass没有'我的js代码不起作用
- JavaScript-为什么这段代码不起作用