ошибка jquery в didInsertElement jshint

#ember-cli #jshint

#ember-cli #jshint

Вопрос:

при использовании jquery внутри обратного вызова компонента функция обратного вызова для click понимает $ напрямую и работает с $, но возникает ошибка jshint

    components/xxx.js: line 13, col 17, '$' is not defined.
  

Использование this.$ внутри обратного вызова jquery click выдает ошибку во время выполнения

 import Ember from 'ember';

export default Ember.Component.extend({
    didInsertElement() {
        this._super(...arguments);

        this.$()
        .on('click', function() {
            $('.class').something(); //ok but jshint error
            this.$('.class').something();//jshint ok but error at run time
        });
    }
});
  

Спасибо

Ответ №1:

используйте это в верхней части файла

 /* globals $ */
  

Ответ №2:

Другой подход заключается в установке следующей конфигурации .jshintrc в корневом каталоге вашего приложения, которая предотвращает проверку всего приложения, которое сообщает jshint, что существуют две глобальные переменные:

 {
    "globals": {
        "$": false,
         "jQuery": false
    }
}
  

Примечание: Если хотите, вы также можете использовать версию jQuery так же, как и Ember jQuery, изменив

  $('.class').something(); //ok but jshint error
  

Для

  Ember.$('.class').something(); 
  

который, вероятно, также удаляет эту ошибку.

Комментарии:

1. Спасибо! он работает с Ember.$, но я не могу заставить его работать с file .jshintrc. этот файл уже содержит много вещей, я помещаю запись «globals» в конец, но, похоже, никакого эффекта нет