1

次のディレクティブがあります。

mod.directive('uiSearchInput', function () {
    return {
        restrict: 'A',
        template:
            '<div class="ui-search-input">' +
                '<i class="i i-search ui-search-input__icon"></i><div ng-transclude class="ui-search-input__field"></div>' +
            '</div>',
        transclude: 'element',
        replace: true
    };
});

私は次のように使いたい:

<input type="text" placeholder="Search internal tags"
       ui-search-input
       ng:model="tagQuery"
       ng:change="showCandidateTags()">

トランスクルードは正常に機能しますが、Angular は元inputの要素の属性をrootテンプレートの要素とトランスクルードされinputた要素に配置することになります。このスクリーンショットを参照してください。

ルート要素divとネストされたinput要素の両方にngModel、他の属性と同様にセットがあることに注意してください。

この重複により、アプリケーションで問題が発生しているようです。これをまったく回避することは可能ですか?

4

1 に答える 1