我正在尝试在 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 中使用它们而无需任何类型的处理。不幸的是,像字符串一样阅读它们似乎不是正确的道路。
你有什么主意吗?
你能指出我关于这个主题的一些好的文档吗?到目前为止,我了解该怎么做的最好的事情就是阅读源代码。
谢谢