Angularjs路由问题,控制器不加载(Angularjs routing issue, cont

2019-10-18 15:40发布

我有4个文件:

  • 的index.html
  • logic.js
  • controller.js
  • homepage.html

的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不被这里叫。

请帮我出这一点。

谢谢

Answer 1:

你没有在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'
        });
}
]);


Answer 2:

控制器名称必须传递到$ routeProvider作为一个字符串:

$routeProvider
            .when('/',
                {   
                    controller:'homepageCtrl',
                    templateUrl:'homepage.html'             
            });


文章来源: Angularjs routing issue, controller not loading