【发布时间】:2017-02-07 07:26:36
【问题描述】:
我试图明确地找出何时使用 ("") clear observable 而不是 () 以及区别是什么。 例如
self.Name = ko.observable();
结束
self.Name = ko.observable("");
谢谢
【问题讨论】:
标签: knockout.js
我试图明确地找出何时使用 ("") clear observable 而不是 () 以及区别是什么。 例如
self.Name = ko.observable();
结束
self.Name = ko.observable("");
谢谢
【问题讨论】:
标签: knockout.js
添加到 Gosha_Fighten 的答案:
一旦你写了:
self.Name = ko.observable();
您正在定义一个可观察变量而没有对其进行初始化。
一旦你写了:
self.Name = ko.observable("");
您正在定义一个可观察变量并使用空字符串对其进行初始化。
稍后如果你像self.Name()一样使用它,它将返回它的值(如果它已经初始化,它将返回该值,否则将返回undefined)
此外,如果您使用self.Name(""),它会将可观察变量设置为空字符串。
所以用法由你自己定义。
【讨论】:
如果您调用alert(self.Name()),self.Name = ko.observable(); 将返回undefined,而self.Name = ko.observable(""); 将返回一个空字符串。
【讨论】:
var name;或者var name = "";是一样的。因此,实际使用情况取决于您希望如何进一步使用此变量。