0

Emberjs と jquery ui を統合しています。http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/に記載されている方法を使用する

すべてが正常に機能しているようです。

問題は次のとおりです。

私が持っているとき

JQ = {};

このエラーに直面した新しい名前空間を宣言する (ただし、ブラウザでは正常に動作します)

JQ が定義されていません

と同じ変数を宣言すると

 var JQ = {};

Grunt はエラーを表示しませんが、ブラウザで動作しなくなります。

ブラウザで結合されたコードを調べたところ、次のようになりました

function(){
  var JQ = {};
 }

....残りのコード

だから私はそれが宣言されていると確信していますが、ブラウザはそれを見ることができません。

それで、私は問題を見つけることができませんか?解決策でもない

最高、
モハマド

4

2 に答える 2

1

JQ をグローバルにしたい場合は、window.JQ = {} として宣言します。

私は問題がただのリンティングかもしれないと思う....グローバルにJQを追加する...

jshint がエラーをスローしないようにするために、JQ を .jshintrc ファイルのグローバル リストに追加します。

于 2013-11-05T07:41:55.017 に答える
0

var JQ = {};を使用する場合。結果は

function(){
  var JQ = {};
}

変数はその関数のスコープ内でのみ定義されます。つまり、そのクロージャーの外では使用できません。したがって、JQ = {};を使用すると、コンパイルされたファイルには次が含まれている必要があります。

function(){
  JQ = {};
}

グローバル名前空間で変数を定義します。しかし、あなたはJQ is not definedを得たと言ったので、変数を定義する前に使用しないかどうかを確認することをお勧めします。

于 2013-11-05T07:10:58.663 に答える