2016-04-18 10 views
0

すべての新しいディレクティブをコントローラとして作成し、ディレクティブのテンプレートと結婚させることを標準化しました。これにより、ワークフローから排除する必要があるangular-html2jsを使用せずに主要な機能をテストすることができます。テストでngModelControllerを手動でインスタンス化する

しかし、複雑なビューを持つモデルをユーザーが編集できるようにするための機能を書き換える必要はありません。ですから、手動でngModelControllerを作成し、$ element.controller()を使って$ onInitで取得したいと思います。

私が抱えている問題は、ngModelControllerがインジェクタに正しく登録されていないように見えることです。そのため、作成方法の構文を理解できません。

私は試しました ngModel = $ controller( 'ngModelController'、{$ scope、$ attrs:{'ng-model': 'measure'}});

ngModel = $controller('ngModel', { $scope: $scope, $attrs: { 'ng-model': 'measure' } }); 

と ngModel = $コントローラ( 'NGModelController'、{$範囲:$スコープ、$ ATTRS:{ 'NGモデル': 'メジャー'}})。

これらの作業はありません。

ngModelControllerがテストされていると仮定して、それを保持する必要があります。思考?

答えて

1

私は結局found the answerです。一言で言えば:

 
$scope=$rootScope.$new(); 
$scope.dummy='foo; 
$compile('<input ng-model="dummy" />')($scope).controller('ngModel'); 

が、これは誰かに役立ちます願っています。

関連する問題