Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问可下标函数中的计算值_Javascript_Knockout.js - Fatal编程技术网

Javascript 访问可下标函数中的计算值

Javascript 访问可下标函数中的计算值,javascript,knockout.js,Javascript,Knockout.js,使用我的视图模型时: function SummaryViewModel (arrayString) { //------- Attributes ------- var self = this; self.Claims = ko.observableArray(namesapce.Helpers.subnamespace.ToCollection(arrayString)); self.ShowTable = ko.computed(function() { var collect

使用我的视图模型时:

function SummaryViewModel (arrayString) {
//------- Attributes -------
var self = this;

self.Claims = ko.observableArray(namesapce.Helpers.subnamespace.ToCollection(arrayString));

self.ShowTable = ko.computed(function() {
    var collection = ko.unwrap(self.Claims());
    return collection.length > 0;
}, this);

self.showWarningPanel = self.ShowTable.Not();
}
我正在尝试反转计算值。因此,要么显示表格,要么显示警告消息

我创建了以下可下标函数:

ko.subscribable.fn.Not = function () {
   return ko.pureComputed(function() {
      var bool = this();
      return !(ko.unwrap(bool));
   });
};
但是,
this()
的值不提供计算属性的值。而是返回当前范围内的所有对象

最初,我将该方法标记为
ko.computed.fn
,这也没有返回计算值

我一直在参考KO网站上的文档,以帮助构建该功能


您必须将
传递给您正在内部创建的
pureComputed

ko.subscribable.fn.Not=函数(){
返回ko.pureComputed(函数(){
返回!这个();
},这个);
//^^^^^在这里,您告诉knockout使用`this'执行函数`
//或者,您可以使用var`self=this`
//模式。
};
var myObs=可观察到的ko(真);
var-dobs=myObs.Not();
肌瘤(假);
log(“可观察:+myObs());
console.log(“倒置:+invertordobs())