Использование jquery в Ember-cli
Я относительно новичок в Ember.js и Ember-cli и буду очень признателен за помощь в использовании подсказки jquery в пользовательском представлении. Весь код приведен ниже, но когда мой шаблон внедряется, я получаю следующую ошибку консоли:
[Error] TypeError: 'undefined' is not a function (evaluating 'Ember.$().tooltip()')
Я использую пользовательское представление в файле с именем tooltip.js:
import Ember from 'ember';
export default Ember.View.extend({
tagName: 'span',
title: 'The tooltip title',
html: true,
placement: 'top',
didInsertElement: function(){
Ember.$().tooltip({"html": this.get('html'),
"title":this.get('title'),
"placement":this.get('placement'),
container: 'body'});
}
});
Соответствующий код шаблона:
{{#view "tooltip" titleBinding="item" placement="right"}}<span><img class="app_info_icon" id="typeInfoIcon" src="/assets/images/info_icon.png"></img></span>{{/view}}
Как я могу это исправить, пожалуйста?
3 ответа
Решено следующим образом:
- Виджеты Jquery и т. Д. Не включены в стандартную библиотеку jquery, которую использует ember-cli. Это должно быть добавлено с помощью
bower install --save jquery-ui
- Затем вам нужно добавить следующие строки в Brocfile.js:
app.import('bower_components/jquery-ui/jquery-ui.js');
app.import('bower_components/jquery-ui/ui/tooltip.js');
- Как указал @Leeft, при обращении к jQuery из представления или компонента
this.$()
следует использовать, а неEmber.$()
- Обязательно используйте версию Ember-CLI после 0.40.
Есть некоторые проблемы в коде, но только в отношении ошибки, потому что вам нужно импортировать tooltip
библиотека (файл JS) в Ember-Cli. Это делается в brocfile.js перед вызовом app.toTree()
как ниже
app.import('vendor/tooltip.js');
Перейдите по ссылке для более подробной информации. http://www.ember-cli.com/