这是我的问题的补充:AngularJS Doesn't Resolve An Array of Objects
正如我在最后的编辑中所述:
我已经通过将控制器放在app所在的同一个文件中解决了这个问题 已定义 -
app.js
。当放在单独的文件夹中时,它无法正常工作。 我不知道为什么在这一点上。
但为什么会这样呢?我已多次尝试过,当控制器位于单独的文件中时,应用无法加载 - js/controller.js
。我检查了路径,这是正确的。
这是应用程序:
这是我的HTML:
<body data-ng-app="App">
*
*
*
<div ng-controller="Ctrl">
<p>{{obj.desc}}</p>
</div>
*
*
*
</body>
app.js
var app = angular.module('App', []);
controller.js
app.controller('Ctrl', function($scope) {
$scope.obj = [
{
intro: "intromessage",
desc: "desc"
},
{
intro: "intromessage2",
desc: "desc"
}
];
});
答案 0 :(得分:1)
假设正确加载controller.js。您需要在新文件中定义var app
:
var app = angular.module('App'); //Continue your app module
app.controller('Ctrl', function($scope) {
$scope.obj = [
{
intro: "intromessage",
desc: "desc"
},
{
intro: "intromessage2",
desc: "desc"
}
];
});
答案 1 :(得分:1)
你可以轻松解决这个问题。您必须在js文件中进行小修改。
app.js
var app = angular.module('App', []);
app.controller('Ctrl',homeController);
controller.js
var homeController = function($scope) {
$scope.obj = [
{
intro: "intromessage",
desc: "desc"
},
{
intro: "intromessage2",
desc: "desc"
}
];
}
这对你有用。确保在布局页面中包含app js之前的控制器js
示例:
<script src="~\controller.js"></script> <!--first-->
<script src="~\App.js"></script> <!--second-->