代码之家  ›  专栏  ›  技术社区  ›  Ashwini Verma

如何在点击事件中更新ko.observable文本?

  •  3
  • Ashwini Verma  · 技术社区  · 12 年前

    这应该很简单,但我肯定错了。

    如何在点击事件中更新ko.observable文本? 我可以使用“afterkeydown”或“keypress”来完成这项操作,但不能用于case click事件。 http://knockoutjs.com/documentation/value-binding.html

    <span data-bind="text: Count"></span>
    <button data-bind="click: update">Update</button>
    
     function MyViewModel() {
         var self = this;
    
         self.Count = ko.observable("0");
    
         self.update = function() {
             self.Count = ko.observable("1");
         }
     }
    

    http://jsfiddle.net/EBsj5/

    2 回复  |  直到 11 年前
        1
  •  4
  •   iConnor    12 年前

    你应该像函数一样改变它。

    self.update = function() {
        self.Count("1");
    }
    

    演示: http://jsfiddle.net/EBsj5/1/

    任何基本教程都会向你解释这一点,所以我建议你看一些。

        2
  •  2
  •   PW Kad    12 年前

    当您设置Knockout observable的值时,您需要像函数一样使用parans并传入新值。

    <span data-bind="text: Count"></span>
    <button data-bind="click: update">Update</button>
    
     function MyViewModel() {
         var self = this;
    
         self.Count = ko.observable("0");
    
         self.update = function() {
             self.Count("1");
         }
     }
    

    在这种情况下,这将把可观测值更新为“1”。您不需要再次调用ko.obstrable(),因为您已经创建了observable,您只需尝试使用setter函数“设置”值。

    推荐文章