0

嗨,我在引导 Angular JS 时遇到问题。

这是我在 django 模板中的 HTML 文档

<html>
 ...
<body>
 .... at the end ....
<script src="//cdnjs.cloudflare.com/ajax/libs/json2/20121008/json2.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>


<script type="text/javascript" src="{% static 'js/ui/transition.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/collapse.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/accordion.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/tabs.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/dialog.js' %}"></script>    
<script type="text/javascript" src="{% static 'js/ui/modal.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/alert.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/validated.js' %}"></script>
<script type="text/javascript" src="{% static 'js/ui/fb.js' %}"></script>
<script type="text/javascript" src="{% static 'js/app/base.js' %}"></script>


<script>
angular.element(document).ready(function() {
 try{      angular.bootstrap(document, ['app.base']);

 }catch(e){alert(e)}
});
</script>

(我知道有很多 UI 脚本......但这不是重点)

编辑 我认为问题是我正在运行 django 的开发服务器,它不能很好地处理并发请求。显然,它有时会断开连接,从而导致浏览器不加载文件(随机)。在 Chrome 以及其他浏览器中已观察到此问题。

4

1 回答 1

1

一般来说,当 Angular 抛出“无模块”错误时,就意味着该模块中存在错误。这与加载它们的顺序无关。我会在文件上运行一个 jsLint 并查看它是否可以编译。

需要手动引导吗?如果您只加载一个应用程序,您可以将 ng-app 指令附加到任何 HTML 元素。我不确定您是否可以将 try-catch 与引导程序一起使用。我所做的是这样的:

$.when(angular.bootstrap(document.getElementById('my-div'), ['my-app']))
    .done(function() {
        console.log("my-app has been bootstrapped to my-div");
    });
于 2013-05-06T17:44:15.800 回答