KO - 因为每个绑定似乎没有绑定,但我无法解决
KO - foreach binding does not seem to bind but I can't work it out
我是学习Knockout JS的过程。我正在学习一些John Papa关于Pluralsight的关于Knockout和Javascript的教程。
<div data-bind="text: people().length" class="label">
部分似乎没有问题。但是,foreach 绑定似乎有问题。
我尝试和做的:
- 我检查了Javascript代码和Markpup,并将其与他的进行了比较,我认为没有区别。
- 我查看了Chrome中的开发人员工具错误控制台。未发生错误。
- 将简单的文本属性绑定到可观察量,它可以工作。
- 将硬代码 observableArray 绑定到标记即可工作。
.JS
$(function () {
var Person = function (name) {
this.name = ko.observable(name);
};
var viewModel = (function () {
var p1 = new Person('Da Vinci');
var p2 = new Person('Michangelo');
var people = ko.observableArray([p1, p2]);
return {
people: people
};
})();
ko.applyBindings(viewModel);
});
网页标记
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Knockout</title>
<link href="../Content/bootstrap.css" rel="stylesheet" />
</head>
<body>
<h1>Hello Knockout!</h1>
<section>
Records:
<div data-bind="text: people().length" class="label">
<ul data-bind="foreach: people">
<li>
<span data-bind="text: name"></span>
</li>
</ul>
</div>
</section>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.2.1.js"></script>
<script src="../Js/ViewModel/AuthorCart.js"></script>
</body>
</html>
我得到以下结果,但我希望两个人的名字("达芬奇"和"米彻奇洛")出现在记录下方。
你好淘汰赛!
记录: 2
您在包含div 上的text
绑定正在覆盖元素的子元素,因此您的foreach
消失了。
您可能希望先关闭容器:
<div data-bind="text: people().length" class="label"></div>
<ul data-bind="foreach: people">
<li>
<span data-bind="text: name"></span>
</li>
</ul>
<div data-bind="text: people().length" class="label">
<ul data-bind="foreach: people">
<li>
<span data-bind="text: name"></span>
</li>
</ul>
</div>
绑定计数时,将div 的全部内容替换为"2",这可能包括覆盖其中包含的 ul,使其永远无法绑定。
你能试试这个吗:
<span data-bind="text: people().length" class="label"></span>
<ul data-bind="foreach: people">
<li>
<span data-bind="text: name"></span>
</li>
</ul>
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- KO - 因为每个绑定似乎没有绑定,但我无法解决
- 用于绑定 JS 对象以进行回调的解决方案
- 解除绑定实际上并不起作用:还有其他解决方案吗
- Node.js解决方案用于XMPP BOSH预绑定以返回SID和RID
- 如何将菜单项绑定到同一解决方案中的另一个项目
- 用angular绑定数据的正确方法.延长已解决的承诺
- 在React中,如何在匿名函数中放置事件处理程序来解决绑定问题?
- Javascript绑定问题不能通过调用bind来解决
- 谷歌关闭绑定/解决这个关键字的问题
- 除了绑定之外,任何其他上下文解析的解决方案都在承诺中
- angular和样式表之间的双绑定解决方案