Angularjs 未注册具有此名称的控制器(无法调用该控制器)
我刚开始与AngularJs合作,我被困在这个地方: 我有index.html,里面包括像angular oclazyload和我的application.js文件这样的脚本标记Angularjs 未注册具有此名称的控制器(无法调用该控制器),angularjs,Angularjs,我刚开始与AngularJs合作,我被困在这个地方: 我有index.html,里面包括像angular oclazyload和我的application.js文件这样的脚本标记 <html ng-app="mymodule"> <head> <script src="angular.min.js"></script> <script src="ocLazyLoad.min.js"></script>
<html ng-app="mymodule">
<head>
<script src="angular.min.js"></script>
<script src="ocLazyLoad.min.js"></script>
<script src="angular-css-injector.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.0/angular-route.min.js"></script>
<script src="application.js"></script>
</head>
<body>
<div ng-controller="mycontroller">
<h1>Sample Page</h1>
<div ng-include="login"></div>
</div>
</body>
var mymodule=angular.module("mymodule",["oc.lazyLoad","angular.css.injector"]);
mymodule.controller("mycontroller",function($scope,$ocLazyLoad,cssInjector){
$ocLazyLoad.load("/task1/login.js");
cssInjector.add("style.css");
$scope.login="login.html";
});
在我的login.js文件中,我将一个控制器定义为logincontroller
<div ng-controller="logincontroller">
{{title}}
</div>
login.js文件:
var mymodule=angular.module("mymodule",[]);
mymodule.controller("logincontroller",function($scope)
{
$scope.title="hello World!!!";
})
在我的login.html中,我调用该控制器,即(logincontroller)
{{title}}
所有文件都在加载,但我发现一个错误,即未注册具有此名称的控制器。您可能有计时问题。可以在
login.js
之前加载login.html
?尝试更改$ocLazyLoad.load(“/task1/login.js”)
中的$scope.login
。像
$ocLazyLoad.load("/task1/login.js").then(function(){ $scope.login = 'login.html '});
你必须改变这个
var mymodule=angular.module("mymodule",[]);
mymodule.controller("logincontroller",function($scope)
{
$scope.title="hello World!!!";
})
对此
var mymodule=angular.module("mymodule");
mymodule.controller("logincontroller",function($scope)
{
$scope.title="hello World!!!";
})
Offtopic,如果你刚开始学习angularjs,建议直接切换到angularjs。这很有效。。thanx alot在过去的几个小时里,我一直在思考这个问题,我知道我必须对(.then function)做点什么,但没能弄明白..thanx alot,伙计