在分离的文件中使用Angular控制器无法正常工作。

20 浏览
0 Comments

在分离的文件中使用Angular控制器无法正常工作。

为什么控制器在分开的文件中无法工作?

应用程序结构:

查看应用程序结构这里

store.html:



    
        
    
    
            

{{user.firstname}}

app.js:

var app = angular.module("myApp",[]);
   app.controller("myContoller",["$scope",function ($scope) {
}]);      

userController.js

app.controller("userController",["$scope",function ($scope) {
    $scope.hello= "john doe";
    $scope.user = {
        id:1,
        firstname:"Wojciech"
    }
}]);

0
0 Comments

在Angular中,将控制器放在分离的文件中时可能会遇到一个问题,即控制器无法正常工作。这个问题的出现原因是在HTML文件中,应先引用app.js,然后再引用控制器文件。具体解决方法是将app.js的引用放在控制器文件之前。下面是具体的解决方法:

原始引用方式:



正确的引用方式:

    

这样修改后,Angular控制器将能够正常工作。

0
0 Comments

问题出现的原因是script标签的顺序不正确,解决方法是改变script标签的顺序,先引入app.js再引入userController.js,并且在userController.js中声明app。这样就可以解决问题。

0
0 Comments

原因:将Angular控制器定义在不同的文件中时,可能会出现控制器无法工作的问题。这可能是因为在定义控制器之前加载了app.js文件。

解决方法:确保在加载userController.js文件之前加载app.js文件。这样可以确保在定义控制器时,app对象已经存在。

以下是解决该问题的代码示例:

app.js文件:

var app = angular.module("app", []);

userController.js文件:

/*
   angular.module调用不带"[]"会返回app对象,
   而不是创建一个新的app对象。
*/
var app = angular.module("app"); 
app.controller("ControllerName", ["$scope", function($scope){
    // 控制器代码在这里。
}]);

0