单击按钮切换/触发消息显示

时间:2013-08-19 20:42:12

标签: knockout.js

我有一个名为Fact的按钮。我想在有人点击时显示一条消息。我的HTML看起来像这样:

<div id="option">
<button data-bind="click: displayMessage">Fact</button>
<div data-bind="if: displayMessage">You are right.</div>

我的Javascript是这样的:

ko.applyBindings({
    displayMessage: ko.observable(false)
});

但是,这不起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

你应该将一个函数传递给click binding,它将displayMessage设置为true,你应该使用visible binding

<div id="option">
<button data-bind="click: function() { displayMessage(true); }">Fact</button>
<div data-bind="visible: displayMessage">You are right.</div>

答案 1 :(得分:1)

HTML:

<div id="option">
<button data-bind="click: toggle">Fact</button>
<div data-bind="visible: displayMessage">You are right.</div>


JS:

var model = function(){
    var self = this;
    self.displayMessage = ko.observable(false);
    self.toggle = function(){
        self.displayMessage(!self.displayMessage());
    };
};
ko.applyBindings(new model);

演示:http://jsfiddle.net/Jorgelig/43fca/