1

データを入力するためのさまざまなディレクティブを作成しました(カレンダー、コロピッカーなど)。この要素に、一般的な入力エルメネットと同じ動作(元の状態、汚れた状態)を与えたいと思います。それを実現する方法はありますか(おそらく継承などを通じて)?そうでない場合、誰かがそれを適切にコーディングする方法を知っているので、それはうまく適合しますか?

4

1 に答える 1

3

ng-modelディレクティブが内部で使用されていない場合は、自分で作成する必要があります。したがって、ディレクティブが編集可能でいくつかの追加機能を備えたテキストフィールドをラップするだけの場合は、それらの追加機能を提供するng-modelため、引き続き使用することをお勧めします。だからこのようなもの:

HTML:

<my-input my-model="model1">

そしてJS:

myModule.directive('myInput', function() {
    return {
        replace: true,
        restrict: 'E',
        scope: {
            model: '=myModel'
        },
        template: '<div><input type="text" ng-model="model"</div>',
        link: function($scope, elem, attrs) {
            // Add extra features to the input
        }
    };
});

これにより、ディレクティブはを使用して元の/ダーティな動作を自動的に取得しますng-model。これが選択肢にない場合は、NgModelControllerのソース、特に元の/汚れた部分を調べることをお勧めします。

于 2013-03-08T07:44:52.737 に答える