AngularJs ReferenceError:未定义angular

FAv*_*o41 16 javascript singlepage angularjs

我尝试添加自定义过滤器,但如果我使用以下代码:

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

但是,如果我这样做,我得到:"引用错误:角度未定义"在萤火虫中.

其余的应用程序工作正常,我在标签div中使用ng-app而不是标签html,并且https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js

小智 46

在包含任何其他js文件之前,应首先放入包含角度线


nsk*_*nsk 9

由于本地和远程引用,我遇到了类似的问题

<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>
Run Code Online (Sandbox Code Playgroud)

由于ui-grid.js依赖于angular.js,因此ui-grid在加载时需要angular.js.但在上面的例子中,ui-grid.js [本地保存的参考文件]在加载angularjs之前加载[来自互联网],

如果我在本地引用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>
Run Code Online (Sandbox Code Playgroud)


FAv*_*o41 5

在这是一个单页面应用程序的方式,使用的解决方案是:

像任何其他控制器一样使用AJAX加载内容,然后调用:

angular.bootstrap($('#your_div_loaded_in_ajax'),["myApp","other_module"]);
Run Code Online (Sandbox Code Playgroud)


小智 5

始终确保在 HTML 文件中首先引用 js 文件 (angular.min.js)。例如:

-----------------这个节点将THROW错误-------------------------

< script src="otherXYZ.js"></script>
< script src="angular.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

----------------- 此参考将按预期工作-------------------

< script src="angular.min.js"></script>
< script src="otherXYZ.js"></script>
Run Code Online (Sandbox Code Playgroud)