2016-01-28 3 views
3

Я создал функцию для моего приложения ember, которое делает некоторые вычисления. Но я не могу его использовать.Создайте пользовательскую функцию в контроллере 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 и затем вызвать function.It работы fine.I хотите включить функция в моем проекте ember. Потому что я думаю, что при создании приложения ember и делегировании его. Отдельный файл функции будет оставлен.

ответ

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 
} 

Имейте в виду, что это плохая практика, чтобы функция начинаться с заглавной буквы, те, как правило, классы.

+0

Спасибо, что это сработало. Можете ли вы решить еще один запрос. Я использую подобное в hbs. Теперь как и где я должен определить функцию OnImageLoad. Теперь я сохранил этот файл в bower_components, и он отлично работает. – 800i

+0

Я бы сделал компонент изображения, который обрабатывает загрузку, inline js редко является хорошей идеей, если вы можете уточнить свой вопрос с помощью некоторых дополнительных деталей, я мог бы помочь вам с компонентом. –

+0

Я подробно разместил вопрос. Вы можете проверить эту ссылку .http: //stackoverflow.com/questions/35058754/use-onload-on-image-tag-in-ember – 800i

Смежные вопросы