javascript - knockout 按钮单击绑定(bind)以更改文本

标签 javascript button knockout.js javascript-databinding

我是 knockout.js 的新手。我正在尝试一项功能,当用户单击按钮时,值会更改。它有点像开/关按钮。我将后端的值存储为 true 和 false。 任何帮助将不胜感激。

.js代码

return class MyClass {

  constructor{
    self.switch = ko.observable();
  }
  changeValue(tgt, evt) {
     let self = this;

     if (self.switch ==false) {
            self.switch = on;
    }
  }
}

.html代码

<button data-bind="click: changeValue">
   <span data-bind="text: switch() ? 'On' : 'Off'"></span>
</button>

最佳答案

您在不应用代码示例中的绑定(bind)的情况下返回您的模型。

这里有一个简洁的方法来做你想做的事:

class Model {
  constructor() {
    this.switch = ko.observable(false);
  }
  changeValue() {
    this.switch(!this.switch())
  }
}

ko.applyBindings(new Model());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<button data-bind="click: changeValue">
   <span data-bind="text: $data.switch() ? 'On' : 'Off'"></span>
</button>

关于javascript - knockout 按钮单击绑定(bind)以更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51626906/

相关文章:

javascript - 返回具有给定变量 x 的两个给定时间之间等距的数组

javascript - Jquery Ajax : Data is undefined when accessing the returned data of json

excel - 在 Excel 中使用 VBA 对运行时添加的命令按钮的引用

javascript - 验证属性内的 javascript

javascript - 将数据从 jQuery Ajax 调用传递到 MVC ApiController Action 会丢失数据

javascript - 允许 null - JavaScript

css - ie/chrome 中的 formalize.css 按钮

android - java.lang.NullPointerException : displaying records from database in an expandable listview 异常

javascript - 在knockout js中更改服务器的数据

javascript - KnockoutJS 搜索过滤器不起作用