Ich verwende derzeit directiveElement.data("$ngModelController")
, um Zugriff auf die $ngModelController
des Elements zu erhalten, wie im folgenden Beispiel.
describe("directiveElement", function() {
it("should do something with ngModelController", inject(function($compile, $rootScope) {
var directiveElement = $compile("<input ng-model="myNgModel" customDirective type="text"></input>")($rootScope);
$rootScope.$digest();
var ngModelCtrl = directiveElement.data("$ngModelController");
ngModelCtrl.$modelValue = "12345";
// do rest of test
}));
});
Allerdings mag ich wissen, ob es ein besseres ist die $ngModelController
zuzugreifen, oder wenn die $ngModelController
Zugriff ist eine schlechte Idee?
Sie auch tun könnte 'directiveElement .controller ('ngModel') '. Ich denke auch, dass es legitime Testgründe gibt, warum Sie einen Griff dazu haben sollten, obwohl der üblichere Weg ist, sie durch die 'Form' (zB https://github.com/angular/angular) in den Griff zu bekommen. js/blob/Meister/Test/ng/directive/formSpec.js). Nicht sicher, warum Sie $ modellValue auf diese Weise setzen. Willst du wahrscheinlich nicht einfach 'myNgModel' einstellen? – jonc
@jonc Ihr Kommentar ist die Antwort, die ich suchte, können Sie es bitte als Antwort posten und ich werde es als die Antwort markieren. – JJohnston
konnten Sie ngModelCtrl. $ ModelValue? – Winnemucca