16

カスタムフィルターを追加しようとしていますが、次のコードを使用する場合:

angular.module('myApp',[]).filter('startFrom', function() {
    return function(input, start) {
        start = +start; //parse to int
        return input.slice(start);
    }
});

しかし、そうすると、firebugで「ReferenceError:angularisnotdefined」というメッセージが表示されます。

アプリケーションの残りの部分は正常に動作しています。タグhtmlではなくタグdivでng-appを使用しており、https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js

4

9 に答える 9

47

他のjsファイルをインクルードする前に、インクルード角度ラインを最初に配置する必要があります

于 2013-04-12T15:20:16.230 に答える
10

ローカル参照とリモート参照が原因で同様の問題に直面しました

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script>
<script src="lib/js/ui-grid/3.0.7/ui-grid.js"></script>

ui-grid.jsはangular.jsに依存しているため、ui-gridはロードされるまでにangular.jsを必要とします。ただし、上記の場合、angularjsが[インターネットから]ロードされる前に、ui-grid.js[ローカルに保存された参照ファイル]がロードされます。

この問題は、angular.jsとui-gridの両方をローカルで参照し、ui-gridの前にangular.jsを宣言した場合に解決されました。

<script src="lib/js/angularjs/1.4.3/angular.js"></script>
<script src="lib/js/ui-grid/3.0.7/ui-grid.js"></script>
于 2015-11-02T17:48:33.927 に答える
5

これがシングルページアプリケーションであるという点で、使用されたソリューションは次のとおりです。

他のコントローラーと同様に、AJAXを使用してコンテンツをロードしてから、次を呼び出します。

angular.bootstrap($('#your_div_loaded_in_ajax'),["myApp","other_module"]);
于 2013-04-23T13:08:33.567 に答える
5

jsファイル(angular.min.js)がHTMLファイルで最初に参照されていることを常に確認してください。例えば:

-----------------この参照はエラーをスローします-------------------------

< script src="otherXYZ.js"></script>
< script src="angular.min.js"></script>

-----------------このリファレンスは期待どおりに機能します-------------------

< script src="angular.min.js"></script>
< script src="otherXYZ.js"></script>
于 2016-11-02T11:48:47.397 に答える
2

コメントですでに@bmleiteが言及しているように、angular.jsをロードするのを忘れた可能性があります。

角度ディレクティブを含むフィドルを作成したが、angular.jsを含めなかった場合、Chromeコンソールでまったく同じエラーが発生します。Uncaught ReferenceError: angular is not defined

于 2013-01-10T16:25:40.417 に答える
2

レールとangular-railsgemを使用している場合は、この欠落している行をapplication.js(または状況に該当するもの)に追加することで、問題を簡単に修正できます。

//= require angular-resource
于 2013-05-25T02:22:53.767 に答える
1

Finderが隠しファイルを表示せずに、Mac上のプロジェクトにngBoilerplateのコピーアンドペーストを行ったため、これに遭遇しました。したがって、.bowerは残りのngBoilerplateと一緒にコピーされませんでした。したがって、bowerはリソースをベンダー(構成済み)ではなくbower_components(defult)に移動し、私のアプリは角度を付けませんでした。おそらくコーナーケースですが、ここで誰かを助けるかもしれません。

于 2013-09-05T19:20:11.903 に答える
0

これは、angularjsで作業しているときに(フィルターを含むファイル)に「asyncdefer」を使用すると発生すると思います。

<script src="js/filter.js" type="text/javascript" async defer></script>

その場合は、「非同期延期」を削除してください。

于 2013-10-23T20:53:10.373 に答える
0

Googleからangular.jsファイルをダウンロードした場合は、Everyoneがそのファイルに読み取りアクセスできることを確認する必要があります。そうしないと、HTMLファイルによって読み込まれません。デフォルトでは、アクセス許可なしでダウンロードするように見えるため、次のようなメッセージも表示されます。

GET http://localhost/myApp/js/angular.js

これは私を約30分狂わせました!

于 2016-02-20T12:31:32.430 に答える