在ember控制器

时间:2016-01-28 08:14:51

标签: javascript ember.js ecmascript-6

我为我的ember应用程序创建了一个函数来进行一些计算。但是我无法使用它。

Controller.js

import Ember from 'ember';
export default Ember.Controller.extend({
   ScaleImage(data) { 
      //maniplution with data 
   },
   feedResult:Ember.computed('model',function() {
      dimension = ScaleImage(data);
   });
});

它会抛出错误

Uncaught ReferenceError: ScaleImage is not defined

如果我将函数放在bower_component内的单独文件中然后调用该函数。它工作正常。我想在我的ember项目中包含该函数。因为我认为在构建ember应用程序并将其删除时。单独的函数文件将离开。

1 个答案:

答案 0 :(得分:2)

您正在将该功能定义为控制器上的属性,如果您想使用它,则需要使用this.ScaleImage来调用它。 或者将其定义为如下函数:

Controller.js

import Ember from 'ember';
export default Ember.Controller.extend({
   feedResult:Ember.computed('model',function() {
      dimension = scaleImage(data);
   });
});

function scaleImage(data) {
  // your logic goes here
}

请记住,让函数以大写字母开头是不好的做法,通常是类。