【问题标题】:Knockout Js Observables淘汰赛 Js Observables
【发布时间】:2017-02-07 07:26:36
【问题描述】:

我试图明确地找出何时使用 ("") clear observable 而不是 () 以及区别是什么。 例如

self.Name = ko.observable();

结束

self.Name = ko.observable("");

谢谢

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    添加到 Gosha_Fighten 的答案:

    一旦你写了:

     self.Name = ko.observable();
    

    您正在定义一个可观察变量而没有对其进行初始化。

    一旦你写了:

    self.Name = ko.observable("");
    

    您正在定义一个可观察变量并使用空字符串对其进行初始化。

    稍后如果你像self.Name()一样使用它,它将返回它的值(如果它已经初始化,它将返回该值,否则将返回undefined) 此外,如果您使用self.Name(""),它会将可观察变量设置为空字符串。

    所以用法由你自己定义。

    【讨论】:

      【解决方案2】:

      如果您调用alert(self.Name())self.Name = ko.observable(); 将返回undefined,而self.Name = ko.observable(""); 将返回一个空字符串。

      【讨论】:

      • 感谢您的回复。您什么时候会使用其中一种?
      • 其实和你使用纯JavaScriptvar name;或者var name = "";是一样的。因此,实际使用情况取决于您希望如何进一步使用此变量。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2013-08-14
      • 1970-01-01
      • 2013-10-21
      • 2015-02-28
      • 1970-01-01
      • 2017-10-16
      相关资源
      最近更新 更多