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
由于本地和远程引用,我遇到了类似的问题
<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)
在这是一个单页面应用程序的方式,使用的解决方案是:
像任何其他控制器一样使用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)