angular.js - angular多個controller的問題
过去多啦不再A梦
过去多啦不再A梦 2017-05-15 16:51:58
0
3
564

看到這種寫法

//app.js
angular.module('app',['app.controllers']);

//FirstController.js
angular.module('app.controllers').controller('firstCtrl',function($scope){...})

//SecondController.js
angular.module('app.controllers').controller('SecondCtrl',function($scope){...})    

但是我這麼寫缺報 firstCtrl 和 SecondCtrl 不是一個方法,剛開始學習angular,求幫助

过去多啦不再A梦
过去多啦不再A梦

全部回覆(3)
洪涛

建議這麼寫

angular
    //app.js
    .module('app',[])//这个'[]'用来创建依赖

    //FirstController.js
angular
    .module('app')//这个后面没有'[]',表面继续用之前创建的[]依赖
    .controller('firstCtrl',['$scope',function($scope){//这里用[]来规范写法,防止压缩文件后看不懂形参
        ...
    }])

    //SecondController.js
angular
    .module('app')//同上
    .controller('SecondCtrl',['$scope',function($scope){
        ...
    }])
滿天的星座
angular.module('app.controllers').controller('firstCtrl',function($scope){...})

這條語句的前提是你有一個view的ng-app是app.controllers。
module函數的第一個參數就是ng-app的值。
controller函數就是定義該module下的一個控制器。

给我你的怀抱

angular.module('app.controllers',[])。
注意此處,一個模組首次定義的時候需要填入依賴,若沒有需要填空數組。後面其他地方如果引用同一個模組,不用填入依賴。

你這裡兩個controller定義時,依賴都沒填寫,需改為如下。

angular.module('app.controllers',[]).controller('firstCtrl',function($scope){...})
angular.module('app.controllers').controller('SecondCtrl' ,function($scope){...})

注意:不同的依賴會產生不同的實例,因此要注意,定義完後,下次引用時一定不能再填入依賴了,否則前一個的相關定義都會失效,這是個很難排查的bug。

關於angular風格的問題,建議參考大神https://github.com/johnpapa/angular-styleguide

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板