Использование 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/

Пытаться ember-cli tool-tipster.....работает отлично.

Другие вопросы по тегам