Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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_Ember.js_Frontend - Fatal编程技术网

Javascript 无法将类作为函数调用

Javascript 无法将类作为函数调用,javascript,ember.js,frontend,Javascript,Ember.js,Frontend,我目前面临计算属性的问题,我有一个名为crossconnection的模型,其中包含一些计算属性,如: relevantPoints: computed(function () { if (this.get('IsCA') === true && this.get('IsCM') === true) { return "/assets/images/big/ca-cm.png"; } else if (this.get('IsCA') =

我目前面临计算属性的问题,我有一个名为crossconnection的模型,其中包含一些计算属性,如:

relevantPoints: computed(function () {

    if (this.get('IsCA') === true && this.get('IsCM') === true) {
        return "/assets/images/big/ca-cm.png";
    }
    else if (this.get('IsCA') === true && this.get('IsCM') === false) {
        return "/assets/images/big/ca.png";
    }
    else if (this.get('IsCA') === false && this.get('IsCM') === true) {
        return "/assets/images/big/cm.png";
    }
    else if (this.get('IsCA') === false && this.get('IsCM') === false) {
        return "/assets/images/big/nca-ncm.png";
    }

}),
在运行项目时,我不断遇到以下错误:

未捕获类型错误:无法将类作为函数调用

有人能澄清一下吗


附言: 我在用

  • 余烬:3.0.0
  • 余烬数据:3.0.2
  • jQuery:3.3.1

更新:

澄清:我有一个包含一些计算属性的“交叉连接”模型,我的模型通过一个简单的

from = this.store.query('crossconnection ', {
            fromOpKey: this.get('opSelected').get('opKey'),
            limit: -1
        });
这将导致以下错误(附加完整堆栈跟踪)


编辑-这似乎不是错误的原因,但我现在就把它留在这里

您的计算机中缺少一个参数。Computed首先将要监视的属性作为字符串,然后是回调函数:

relevantPoints: computed(‘isCA’, ‘isCM’, function () {

    if (this.get('IsCA') === true && this.get('IsCM') === true) {
        return "/assets/images/big/ca-cm.png";
    }
 ...,
}),

这个答案适用于1.13到3.x,对<3.0的代码段进行了一个小的修改。低于3.0的应用程序版本应使用Ember.computed而不是computed。请确保正确导入
computed


从'@ember/object'导入{computed}

如何
调用
函数
?相关代码不在这里。您需要编写一个来获得答案。我不是,这只是在模型阶段,还没有开始为它编写控制器,当尝试运行项目时,它无法说明上面提到的错误,而不是生成计算属性来提供整个文件。计算属性中有语法错误。Computed是Ember API的一部分,需要多个参数。仅当需要指定计算无效的时间时,才需要依赖键,但它们不是必需的。
relevantPoints: computed(‘isCA’, ‘isCM’, function () {

    if (this.get('IsCA') === true && this.get('IsCM') === true) {
        return "/assets/images/big/ca-cm.png";
    }
 ...,
}),