У меня есть этот HTML:AngularJS - конфликты ngModel с таможенной директивой
<select id="mainVideo" class="form-control" required-select
ng-model="qtTestData.mainVideo"
ng-options="mainVideo for mainVideo in mainVideoSources"
ng-change="getSelectedData(qtTestDataBuffer,'mainVideo', qtTestData.mainVideo)"
name="mainVideo"
ng-required="true">
</select>
Функция getSelectedData() принимает 3 аргумента, а третий является ngModel. Все работает, если я не использую свою собственную директиву required-select. Моя директива:
App.directive('requiredSelect', function() {
return {
restrict: 'AE',
require: 'ngModel',
link: function(scope, element, attributes, ngModel) {
ngModel.$validators.requiredSelect = function(modelValue, viewValue) {
var value = modelValue || viewValue;
var requiredSelect = 'Please, select a value'; //TBD.. select first ngOption
return value != requiredSelect;
};
}
};
});
Если я включаю требуемый-выберите директиву в HTML, мой ngModel становится qtTestData.mainVideo == undefined
по умолчанию, и в результате у меня вылетает ... Похоже ngModel была перезаписана с помощью директивы ...
ли кто-то знаете, как это исправить? Спасибо,
поведение же .. –