Javascript AngularJs ReferenceError:未定义角度
我正在尝试添加自定义筛选器,但如果使用以下代码:Javascript AngularJs ReferenceError:未定义角度,javascript,angularjs,singlepage,Javascript,Angularjs,Singlepage,我正在尝试添加自定义筛选器,但如果使用以下代码: angular.module('myApp',[]).filter('startFrom', function() { return function(input, start) { start = +start; //parse to int return input.slice(start); } }); 但如果我这样做,我会在firebug中得到:“ReferenceError:angula
angular.module('myApp',[]).filter('startFrom', function() {
return function(input, start) {
start = +start; //parse to int
return input.slice(start);
}
});
但如果我这样做,我会在firebug中得到:“ReferenceError:angular未定义”
应用程序的其余部分工作正常,我在标记div中使用ng应用程序,而不是在标记html中,并且正如注释中提到的@bmleite,您可能忘记加载angular.js
如果我在其中创建了一个包含angular指令的fiddle,但没有包含angular.js,我在Chrome控制台中会得到完全相同的错误:
未捕获引用错误:angular未定义
在包含任何其他js文件之前,您应该先放置include angular行,就像这是一个单页应用程序一样,使用的解决方案是:
像任何其他控制器一样,使用AJAX加载内容,然后调用:
angular.bootstrap($('#your_div_loaded_in_ajax'),["myApp","other_module"]);
如果您碰巧使用了rails和angular rails gem,那么通过将这一缺失的行添加到application.js(或任何适用于您的情况的行)中,问题很容易得到纠正:
我遇到这个问题是因为我在Mac上复制并粘贴了ngBoilerplate到我的项目中,而Finder没有显示隐藏的文件。所以,《鲍尔》并没有被复制成其他的样板。因此,bower将资源转移到bower_组件(defult)而不是供应商(按配置),我的应用程序也没有角度。可能是一种极端情况,但可能对这里的某些人有所帮助。我认为如果在使用angularjs时对(包含筛选器的文件)使用“async defer”,就会出现这种情况:
<script src="js/filter.js" type="text/javascript" async defer></script>
如果您这样做,只需删除“异步延迟”。由于本地和远程引用,我面临类似的问题
<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。但在上述情况下,ui-grid.js[本地保存的参考文件]是在angularjs[从互联网]加载之前加载的
如果同时引用angular.js和ui网格,问题就解决了
本地以及在ui网格之前声明angular.js
如果你从谷歌下载了angular.js文件,你需要确保每个人都有读取权限,否则它不会被你的HTML文件加载。默认情况下,它似乎是在没有访问权限的情况下下载的,因此您还将收到以下消息: 得到
这让我生气了大约半个小时 始终确保在HTML文件中首先引用js文件(angular.min.js)。例如: -----------------此引用将抛出错误------------------
< script src="otherXYZ.js"></script>
< script src="angular.min.js"></script>