私は現在、テキスト型の入力フィールドであるディレクティブを作成しています。テキストが入力フィールドに対して大きくなりすぎた場合、このフィールドの幅を動的に拡大したいと考えています。以下は私の指示です:
.directive('dynamicInput', function () {
return {
restrict: 'E',
template: '<input type="text" style="display: inherit;" class="form-control" required />',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
console.log('ATTRS: ', attrs);
console.log('ELEMENT: ', element);
if(attrs.width){
console.log('WiDTH: ', attrs);
}
}
}
});
プランカーは次のとおりです。
幅を動的に変更します。
要素オブジェクトで使用している CSS クラスを変更できることはわかっていますが、ボックス内のテキストが増加するにつれて、基本的に動的に幅を変更したいクラスを変更したくありません。問題は、「onchange」イベントが発生するたびに CSS を、入力されているテキストの長さに変更するにはどうすればよいかということです。また、これが宣言されている親スコープ内のものに依存しないように、これをディレクティブ内に保持したいと思います。