在test

时间:2016-04-18 19:04:08

标签: angularjs angularjs-directive

我们已经将所有新指令创建为控制器,然后在指令中与模板结合。这使我们可以测试主要功能,而无需使用angular-html2js,我们需要从工作流程中消除这些功能。

但是,我们宁愿不必重写功能,这样我们就可以使用具有复杂视图的模型来帮助用户编辑它。所以我想手动创建一个ngModelController,然后使用$ element.controller()在$ onInit中检索它。

我遇到的问题是ngModelController似乎没有使用注入器正确注册,所以我无法弄清楚如何制作一个语法。

我试过了     ngModel = $ controller('ngModelController',{$ scope:$ scope,$ attrs:{'ng-model':'measure'}});

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

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

这些都不起作用。

我认为ngModelController已经过测试,因此必须能够掌握它。想法?

1 个答案:

答案 0 :(得分:2)

我最终found the answer。简而言之:

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

希望这有助于某人。