2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
是否通過HTML連接了帶有“ MyCtrl”的文件?(檢查是否合并或丑化文件,請檢查兩次)
<script src='path/to/controllers.js'></script>
是否正確定義了“ MyCtrl”?
有幾種模式:
app.controller('MyCtrl', ['$scope', function ($scope) {...}])
app.controller('MyCtrl', function ($scope) {...})
var MyCtrl = function ($scope) {...})
在正確的模塊中定義了“ MyCtrl”嗎?
是否將“ MyCtrl's”模塊添加到應(yīng)用程序依賴項(xiàng)中?
angular.module('app', ['app.sources']);
如果你定義模塊多時(shí)間,您應(yīng)該按以下順序定義它:
首先定義應(yīng)該像
angular.module('app.sources', []);
(帶有[ ])
隨后的定義應(yīng)該像
angular.module('app.sources');
(無[ ])
重要提示:聲明順序很重要- [ ]首先應(yīng)定義。
檢查模塊僅被定義一次。您可能忘記復(fù)制粘貼后重命名模塊。檢查src中的字符串,例如
angular.module('app.sources', []);
檢查您的 'ng-app'。最好只使用其中一個(gè)名稱,例如ng-app='app'(換句話說,不要定義多個(gè)未命名的ngApp指令)
您的AngularJS版本的控制器語法正確嗎?
(Angular 1.0.x和1.2.x及更高版本中的定義有所不同。當(dāng)Angular版本大于1.3.x時(shí),您不能聲明全局構(gòu)造函數(shù)并與ng-controller一起使用)

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您使用ng-controllerwith和“ controller as”語法,請確保檢查控制器的名稱是否正確。
我的情況:
//controller register
angular.module("myApp").controller("someController", SomeController)
//in my code
<div ng-controller="SomeController as vm"></div>
注意我用過的ng-controller="SomeController as vm",哪里SomeController有大寫字母S。它應(yīng)該是小寫字母,s因?yàn)檫@就是我注冊的方式。
因此,請檢查您的控制器名稱是否正確。
添加回答
舉報(bào)