2017-05-11 6 views
0

こんにちは私は$ qをコントローラに注入してdefer()を使用しようとしていますが、 "TypeError:オブジェクトはプロパティまたはメソッド '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>

答えて

1

あなたはmyCtrl$scope引数を逃しています。両方を注入していますが、の代わりに$scopeを使用しようとしています。

+0

私はそれを逃したとは思えません。ありがとうPhix! – CionC

+0

それは私たちすべてに起こります:) – Phix

+1

ありがとう@tanmay、モバイル上で。 – Phix

関連する問題