0

我正在尝试在 angularjs 的另一个指令中编译一个指令(指令链?),显然我想不出一个正确的方法来做到这一点。

我正在尝试编写的指令是angularui-bootstrap typeahead的扩展。目标是能够通过预先输入选择多个元素。

到目前为止,我想到的是以下代码:

标记选择器.js:

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

标记选择器.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 中使用它们而无需任何类型的处理。不幸的是,像字符串一样阅读它们似乎不是正确的道路。

你有什么主意吗?

你能指出我关于这个主题的一些好的文档吗?到目前为止,我了解该怎么做的最好的事情就是阅读源代码。

谢谢

4

0 回答 0