angularjs $q.defer() 对象不支持属性或方法 'defer'
angularjs $q.defer() Object doesn't support propert or method 'defer'
嗨,我遇到一个问题,我试图将 $q 注入控制器并使用 defer() 但它抛出错误 "TypeError: Object doesn't support property or method 'defer'"
我知道将 $q 注入控制器可以使用下面的编码风格,但我想避免使用它。
var app = angular.module('myApp',[]);
app.controller('myApp, function($q){});
所以...我遵循将控制器定义为
http://bguiz.github.io/js-standards/angularjs/controllers/
有什么想法吗?我的代码如下所示。
(function(angular){
'use strict'
angular
.module('myApp',[])
.controller('myCtrl',myCtrl)
myCtrl.$inject = ['$scope','$q'];
function myCtrl($q){
var vm = this;
vm.items = $q.defer();
}
}(window.angular));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="myCtrl">
rest of code goes here ...
</div>
</div>
您在 myCtrl
中缺少 $scope
参数。您同时注入了两者,但尝试使用 $scope
代替 $q
。
嗨,我遇到一个问题,我试图将 $q 注入控制器并使用 defer() 但它抛出错误 "TypeError: Object doesn't support property or method 'defer'"
我知道将 $q 注入控制器可以使用下面的编码风格,但我想避免使用它。
var app = angular.module('myApp',[]);
app.controller('myApp, function($q){});
所以...我遵循将控制器定义为 http://bguiz.github.io/js-standards/angularjs/controllers/
有什么想法吗?我的代码如下所示。
(function(angular){
'use strict'
angular
.module('myApp',[])
.controller('myCtrl',myCtrl)
myCtrl.$inject = ['$scope','$q'];
function myCtrl($q){
var vm = this;
vm.items = $q.defer();
}
}(window.angular));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="myCtrl">
rest of code goes here ...
</div>
</div>
您在 myCtrl
中缺少 $scope
参数。您同时注入了两者,但尝试使用 $scope
代替 $q
。