2
我一直在使用knockout一段时间,但写了一些代码示例,这一个让我难住。代码工作完全按照我期待,当点击按钮切换可见的,但我仍然得到一个错误:knockoutjs“无法解析绑定”错误,但代码工作
的jsfiddle:从
<ul data-bind="foreach: answers">
<li>
<a class="hiddenButton" href="#" data-bind="click: answerClick" />
<div class="answerNumber" data-bind="visible: showAnswerNumber">
<h2 data-bind="text: answerNumber" />
</div>
<div class="answer" data-bind="visible: showAnswerText">
<p data-bind="text:text" />
<p data-bind="text: points" />
</div>
</li>
</ul>
<script type="text/javascript">
var answerViewModel = function() {
var self = this;
//clicks
self.answerClick = function() {
self.showAnswerNumber(!self.showAnswerNumber());
};
//observables
self.answerNumber = ko.observable();
self.text = ko.observable();
self.points = ko.observable();
self.showAnswerNumber = ko.observable(true);
//computed
self.showAnswerText = ko.computed(function() {
return !self.showAnswerNumber();
});
};
var roundViewModel = function() {
var self = this;
self.answers = ko.observableArray();
};
var answer1 = new answerViewModel();
answer1.text = "foo answer";
answer1.answerNumber = 1;
answer1.points = 50;
var vm = new roundViewModel();
vm.answers.push(answer1);
ko.applyBindings(vm);
</script>
谢谢你!杜时刻对我来说。我正在使用现有的应用程序,它使用1/2的div作为点击区域,并使用css填充链接。当我做出上面的代码时,我正在愚蠢:-) – 2012-04-13 14:02:05
我昨晚在一个类似的bug上花了一个小时。很难有时看到它。 – 2012-04-13 14:48:12
我发现有时当我绑定某个“with:”内的某个东西时,尽管代码有效,但我仍然有同样的错误。如果我删除“with:”子句并添加$ root的整个路径,则会出现错误。 – Hero 2012-08-01 11:56:00