6
鑑於以下指令測試重點()的元素在AngularJS指令模板
directive('myDirective', function() {
return {
restrict: 'A',
scope: {},
replace: false,
template: '<input ng-focus="onFocus()" type="text" />',
link: function(scope, element, attr) {
scope.onFocus = function() {
console.log('got focus');
};
}
};
});
我測試的重點觀察者在瀏覽器中工作,但我希望能夠觸發它在單元測試中。這是我試過的,但它不起作用。
var element = angular.element('<div my-directive></div>');
$compile(element)($scope);
$scope.$digest();
element.find('input')[0].focus();
我可以看到,我得到正確與查找電話輸入框,和我預料的代碼來觸發輸入框的焦點事件,但什麼也沒有發生。我在這裏錯過了什麼?
我不認爲你需要做的'element.find( 'input')'元素_is_輸入標籤 – dcodesmith
Replace被設置爲false。 'element'是div,它包含在輸入標籤中。 – grivescorbett
噢,我錯過了那部分 – dcodesmith