使用jQuery jslint错误:'$'未定义

时间:2014-08-26 03:32:17

标签: jquery angularjs

我在Angular中使用JQuery。一切正常,除了我在JSLint中遇到错误'$' is not defined.。我的控制器看起来像这样:

function controllerFunc($scope) {
    // Stuff goes in here
};
angular.module('core').controller('controllerName', ['$scope', controllerFunc]);

我错过了什么吗?

3 个答案:

答案 0 :(得分:4)

您可以在.js文件的顶部添加此评论:

/*global $ */

告诉JSLint $是一个在其他文件中定义的全局,所以它可以平静下来。我发现每当我有一个依赖于jQuery的JavaScript文件时,我都需要使用它。将代码分解为多个.js文件时,同样的原则也适用,如下所示:

// foo.js
function foo() {
    return 'Hello world!';
}


// bar.js
/*global foo */
function bar() {
    return foo();
}

答案 1 :(得分:1)

当你使用角度时,你可能因为依赖性问题而得到这些错误,确保它已经加载到你试图使用它的jquery。 (我从来没有使用过角度但是我使用了主干,并且我使用require.js包含了我的插件,并且很多次我得到了同样的错误,因为系统上没有加载dependeces,请确保已经加载了jQuery因为你打电话给你的代码和功能)


在require.js上(我不知道你是否正在使用)我在一个部分指定了在代码执行之前需要加载的所有内容。

答案 2 :(得分:0)

首先使用var $=jQuery();或先使用jQuery.noConflict(),然后在代码中使用jQuery代替$

var $ = jQuery();
//DO YOUR WORK HERE

jQuery.noConflict();
jQuery( document ).ready(function( $ ) {
...//DO YOUR WORK HERE
}