如果我有一个带有一个可观察属性的简单ViewModel,如下所示:
var viewModel = function()
{
var self = this;
self.myProperty = ko.observable('');
self.isValid = function(){
if(!self.myProperty){
return false;
}
return true;
};
}
Run Code Online (Sandbox Code Playgroud)
如何正确验证observable并确保不是null/undefined或为空?仅当值不为null/undefined或''时才有效
Knockout observables是函数.您需要在没有参数的情况下调用它们来获取它们的基础值(这称为展开).
所以你只需要写下self.myProperty()你的if:
self.isValid = function(){
if(!self.myProperty()){
return false;
}
return true;
};
Run Code Online (Sandbox Code Playgroud)
您可以在文档中阅读有关可观察对象的更多信息.