0

angularjs(ディレクティブチェーン?)の別のディレクティブでディレクティブをコンパイルしようとしていますが、これを行う適切な方法が思いつかないようです。

私が書こうとしているディレクティブは、angularui-bootstrap typeaheadの拡張です。目標は、先行入力を通じて複数の要素を選択できるようにすることです。

私が今まで思いついたのは、次のコードです。

tagSelector.js:

angular.module('xxxTagSelector', [])
    .directive('xxxTagSelector',
            function() {
                return {
                    restrict: 'E',
                    templateUrl: 'tagSelector.html',
                    scope: {
                        selectExpr: '@',
                        editable: '@',
                        onSelect: '@'
                    }
                    }
                };
            });

tagSelector.html:

<div>
    <input type="text" autocomplete="off" ng-model="selected"
           typeahead="{{selectExpr}}" 
           typeahead-editable="{{editable}}" typeahead-on-select="{{onSelect}}" 
           placeholder="Tag Search">
</div>
<div>
    <ul>
        <!-- It will display selected elements -->
    </ul>
</div>

main.html

<xxx-tag-selector select-expr="tag as tag.label for tag in tags | filter:{label: $viewValue} | limitTo:8"
                                  id="tags" editable="true" on-select="onSelect($item, $model, $label)" >
</xxx-tag-selector>

私がやろうとしているのは、select-expr、editable、および on-select パラメーターを使用し、種類の処理を行わずに tagSelector で使用することです。残念ながら、それらを文字列のように読むことは正しい道ではないようです。

何か考えはありますか?

この件に関する優れたドキュメントを教えてください。何をすべきかを理解するためにこれまでに行った最善のことは、suorce コードを読むことです。

ありがとうございました

4

0 に答える 0