Я пытаюсь проверить директиву, и я продолжаю получать TypeError: 'undefined' не является функцией (оценка ' ngModel. $ setViewValue (undefined) ')
Что я делаю неправильно?
Директива очистить скрытые детали:
testApp.directive("clearhidden", [ '$compile', '$parse', function ($compile, $parse) {
return {
restrict: "A",
scope:true,
require: ['ngModel'],
link: function(scope, tElement, attrs, ngModel) {
if(!ngModel){
return;
}
//clear model values for hidden fields
var initValue = undefined;
if (attrs.ngInit) {
initValue = $parse(attrs.ngInit)(scope);
}
scope.$watch(function() {
return tElement.is(":visible");
}, function(visible) {
if (visible) {
if (ngModel.$modelValue == undefined) {
if (initValue != undefined) {
ngModel.$setViewValue(initValue);
ngModel.$render();
}
}
} else {
var isDisabled = false;
if (attrs.ngDisabled) {
isDisabled = $parse(attrs.ngDisabled)(scope);
}
if (!isDisabled) {
ngModel.$setViewValue(undefined);
ngModel.$render();
}
}
});
}
};
}]);
Карма выполняется является:
describe("directive-ClearHidden", function() {
var $compile;
var $rootScope;
beforeEach(module('testApp'));
beforeEach(inject(function(_$compile_, _$rootScope_){
$compile = _$compile_;
$rootScope = _$rootScope_;
}));
it('process directive', function() {
$rootScope.myObject="TESTER2";
var element = $compile(angular.element('<form name="form"><input ng- model="myObject" clearhidden/></form>'))($rootScope);
$rootScope.$digest();
});
});
Можете ли вы сказать мне, почему я получаю ошибку при ngModel $ setViewValue (не определено). ; ?
Благодаря
Покажите вашу карму конфигурации тоже, пожалуйста. – alecxe
Я сомневаюсь, что это имеет какое-то отношение к конфигурации кармы. – PSL