<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>
<body>
<div id="ajax-content-here">
</div>
</body>
</html>我对angular是个新手,所以请温文点!
所以这个想法就像上面的标题所说的--我用head部分中包含的angular库加载我的页面。稍后,我使用ajax (jquery)将数据(如下所示)加载到div容器中。
<div id="angular-test">
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<hr>
<h1>Hello {{yourName}}!</h1>
</div>
</div>我想以某种方式初始化的角度,只有在#angular-test容器内ajax请求完成后才是活动的。我假设它与作用域对象有关,对吧?
谢谢!
发布于 2013-06-04 03:59:31
一旦DOM完成加载(在DOMContentLoaded事件上),Angular就会进行初始化(包括查找ng-app和模板编译)。一旦接收到AJAX响应,Angular就无法知道DOM是否发生了更改,并且稍后会将ng-app添加到DOM中。
因此,您可以尝试在DOM真正完成之后手动初始化引导程序(即在将DOM赋值给innerHTML之后,在jquery ajax回调上)。在回调中,执行类似如下的操作:
angular.bootstrap($('#ajax-content-here'));假设ajax-content-here中的内容引用了一些ng-app。请参阅http://docs.angularjs.org/guide/bootstrap中的手动初始化部分
发布于 2013-06-03 22:36:10
<div ng-app id="angular-test">ng-app部件将在angular-test内部初始化angular。
https://stackoverflow.com/questions/16898931
复制相似问题