【发布时间】:2015-04-08 22:43:59
【问题描述】:
我使用 ajax 在 Sails 项目views/homepage.ejs 中动态加载部分页面。 控制器是“food”,“show”是“food”的一个动作,所以我有一个文件/views/food/show.ejs。所以通过使用 Ajax 加载 food/show,会加载 show.ejs。
$('#outerDiv').load("food/show",function(responseTxt,status,xhr){
if(status!=="error"){
alert("BOOT...");
//bootstrap angular
angular.bootstrap($("#outerDiv"));
}
});
show.ejs的内容是这样的:
<script>
alert("LOAD..");
var app = angular.module("myApp",[]);
app.controller("myCtrl",function (){
this.numInStock= 10;
})
</script>
<div ng-app="myApp" ng-controller="myCtrl">
<p>The number in stock is: {{numInStock}}</p>
</div>
但是该加载页面中的角度仍然无法工作,即使我尝试手动引导新加载页面的角度。
Alert(LOAD...) 先出现,然后 Alert(BOOT...) 出现,而我发现新页面已经呈现为“库存数量为:{{numInStock}}”。显然,这是错误的,我希望它是“库存数量为:10”。
Chrome 控制台报错:
Uncaught Error: [ng:btstrpd] http://errors.angularjs.org/1.2.26/ng/btstrpd?p0=%26lt%3Bdiv%20id%3D%22subPage%22%26gt%3B
【问题讨论】:
标签: jquery ajax angularjs node.js sails.js