В моем приложении AngularJS у меня везде разные сложные входные данные. Например, некоторые входные данные имеют директиву использовать автозаполнение с Google Places или с автозаполнением из Twitter Bootstrap.
Я ищу способ сделать директиву, которая отображает кнопку стирания, когда мы добавляем текст, например функцию iOS.
Я сделал это, но scope.erase
не запускается, как и ng-show
.
Можно ли добавить HTML после ввода текста и "поиграть" с ними внутри контроллера?
Мой тест:
app.directive('eraseBtn', function($parse, $compile){
return {
require: 'ngModel',
restrict: "A",
transclude: true,
link : function(scope, element, attrs, model){
element.parent().append('<button ng-click="erase()" ng-show="model.length > 0" class="erase-btn">x</button>');
scope.erase = function(){
console.log('Erase test');
}
}
}
});
Я не хочу использовать шаблон, потому что все мои входные HTML-коды действительно разные.