Добрый день! Есть директива, которая оборачивает input, добавляет к input некий атрибут и затем компилирует этот элемент.
directive('formGroup', function($compile) {
return {
templateUrl:"dir_form_group.html",
restrict: 'E',
transclude: true,
scope:{
staticVal: "="
},
link: function (scope, element, attributes) {
var $model = $('[ng-model]', element);
$model.attr('attr', '{{attr}}');
$compile($model)(scope.$parent);
}
}
})
<form-group static-val = "{'title':'Field 1'}">
<input type="text" class="form-control" ng-model = "objVar.var">
</form-group>
Проблема заключается в том, что если ng-model присвоена переменная, как свойство объекта, например objVar.var то начинается проблема с кареткой. Если я в середине текста начинаю что-то вводить каретка сразу перелетает в конец текста.
А если ng-model присвоена обычная переменная var, то такой проблемы не наблюдается.
Посмотреть пример можно в plnkr.
Как можно решить эту проблему?
Из-за перекомпиляции элемента в link
значение обновляется.
То же самое можно сделать без $compile
:
function (scope, element, attributes) {
var attr = $parse('attr')(scope.$parent);
$('[ng-model]', element).attr('attr', angular.toJson(attr));
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть некая проблема, для меня очень весомаяЕсть таблица которая обновляется poll-запросом каждые 5 секунд, вcё прекрасно работает
Добрый деньИз базы данных Moodle на сервере пытаюсь получить доступ к FTP и выделить (подсветить) нужный мне файл