KnockoutJS - 点击事件后的数据绑定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KnockoutJS - 点击事件后的数据绑定相关的知识,希望对你有一定的参考价值。

我想在点击事件后更新First#或Second#文本。现在,当我从输入字段中聚焦时,它会更新。

这是a link

function ViewModel () {
    self.this;
    self.var1 = ko.observable(50);
    self.var2 = ko.observable(60);
....
}
var vm = new ViewModel();
ko.applyBindings(vm);
答案

使用observables的重点是跟踪你的变化:例如,在更改输入时,文本会发生变化等。

如果您不想进行此自动跟踪,则需要使用一些临时变量来存储输入值并在click事件中手动更改您的observable:

function ViewModel() {
   var self = this;
   self.var1 = ko.observable(50);
   self.var2 = ko.observable(60);
   self.temp1 = ko.observable(self.var1())
   self.temp2 = ko.observable(self.var2())

   this.addition = function() {
     self.var1(Number(self.temp1()));
     self.var2(Number(self.temp2()));

     this.var3 = self.var1() + self.var2();
     alert("Addition is = " + this.var3);
   };
 };

并将输入字段绑定到这些临时变量:

<p>First #: <span data-bind="text: var1"> </span></p>
<p>Sectond #: <span data-bind="text: var2"> </span></p>

<p>Enter first #:
  <input data-bind="value: temp1" />
</p>
<p>Enter second #:
  <input data-bind="value: temp2" />
</p>
<p>

<button type="submit" data-bind="click: addition">Click here for addition</button>
</p>

但是:くzxswいい。

以上是关于KnockoutJS - 点击事件后的数据绑定的主要内容,如果未能解决你的问题,请参考以下文章

如何在 knockoutjs 按钮点击事件中添加 Google AdWords 转化跟踪代码?

数据绑定原理

如何将focusOut事件绑定到knockoutjs

在knockoutjs上绑定按键事件,未填充可观察到

knockoutjs 点击绑定在嵌套的 foreach 中不起作用

Knockoutjs 选项与 JSON 数据绑定?