我们已经将所有新指令创建为控制器,然后在指令中与模板结合。这使我们可以测试主要功能,而无需使用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已经过测试,因此必须能够掌握它。想法?
答案 0 :(得分:2)
我最终found the answer。简而言之:
$scope=$rootScope.$new(); $scope.dummy='foo; $compile('<input ng-model="dummy" />')($scope).controller('ngModel');
希望这有助于某人。