Как получить доступ к $ ngModelController из контроллера без формы и без директивы
Может быть это'ошибка новичка, но я могуКажется, не получить доступ к$scope.model
$ngModelController
так что я могу взять$viewValue
от него.
У меня есть вход без формы (я использую директиву ui-mask):
// inside my controller
$scope.inicio = dateFilter((new Date).getTime(), 'dd/MM/yyyy');
ui-mask задает для $ modelValue значение, отличное от $ viewValue, что затрудняет отправку отформатированных данных на сервер. Когда$scope.inicio
модель меняется, значение представляет собой дату без косых черт, как01012014
, Так что мне нужно иметь возможность получить контроллер для этого входа, но без необходимости оборачивать его в форму и использовать$scope.myForm.inicio.$viewValue
, Это ДОЛЖНО быть возможным ...
Вещи, которые я знаю, я могу сделать, но кажется хакерским, должен быть более простой способ:
Поместите элемент в форму и получите к нему доступ через$scope.myForm.input.$viewValue
Получить данные элемента, используя jQuery$('input[name="inicio"]').data('$ngModelController');
Получить элемент, используяangular.element('input[name="inicio"]').controller('ngModel');
Создайте директиву, поместите ее во входные данные и обновите мою модель объемаapp.directive('viewValue', function(){
return {
priority: 10,
require: 'ngModel',
link: function(scope, element, attrs, controller){
scope.$watch(attrs.viewValue, function(newValue, oldValue){
if (newValue !== oldValue){
scope[attrs.viewValue] = controller.$viewValue;
}
});
}
}
});