В моем приложении AngularJS у меня разные сложные входы. Например, некоторые входы имеют директиву использовать автозаполнение с помощью Google Адресов или с автозавершением из 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 файлы действительно отличаются.