我有4个文件:
的index.html
<html ng-app="sample">
<head>
<script src="angular.js"></script>
</head>
<body>
<div>
<div ng-view></div>
</div>
<script src="controller.js"></script>
<script src="logic.js"></script>
</body>
</html>
logic.js
var myapp = angular.module('sample',[]);
myapp.config(function($routeProvider)
{
$routeProvider
.when('/',
{
controller:homepageCtrl,
templateUrl:'homepage.html'
});
});
controller.js
function homepageCtrl($scope){
$scope.name = "ROHIT";}
homepage.html
{{name}}
homepage.html正在加载并通过路线正确显示,但当homepage.html加载到index.html时,此处未调用控制器。
请帮我解决这个问题。
由于
答案 0 :(得分:2)
您没有在HTML中定义控制器。
添加此行
<div ng-controller = "homepageCtrl">
假设它应该在homepage.html
:
<div ng-controller = "homepageCtrl">
{{name}}
</div>
此外,请使用'
logic.js
<强> [编辑] 强>
将$inject
添加到routeProvider:
myapp.config(["$routeProvider",
function($routeProvider) {
$routeProvider
.when("/", {
templateUrl: 'homepage.html',
controller: 'homepageCtrl'
});
}
]);
答案 1 :(得分:0)
控制器名称必须作为字符串传递给$ routeProvider:
$routeProvider
.when('/',
{
controller:'homepageCtrl',
templateUrl:'homepage.html'
});