繁体   English   中英

将角度指令包含到定制指令中

[英]Include Angular Directives into a custom made directive

我正在使用一个很棒的,定制的自动完成指令,称为Almighty-Autocomplete 但是我缺少一些功能。

通用指令如下所示:

.directive('autocomplete', function () {
 var index = -1;

 return {
   restrict: 'E',
   scope: {
     searchParam: '=ngModel',
     suggestions: '=data',
     onType: '=onType',
     onSelect: '=onSelect'
   },
   controller: ['$scope', function ($scope) {...}
   link: function (scope, element, attrs) {

     var attr = '';

     // Default atts
     scope.attrs = {
       "placeholder": "start typing...",
       "class": "",
       "id": "",
       "inputclass": "",
       "inputid": ""
     };
   } ....

模板如下所示:

<div class="autocomplete {{ attrs.class }}" id="{{ attrs.id }}">
<input
    type="text"
    ng-model="searchParam"
    placeholder="{{ attrs.placeholder }}"
    class="{{ attrs.inputclass }}"
    id="{{ attrs.inputid }}"/>
</div> 

我还不够聪明,无法将自己的内容添加到指令中。 所以我想知道如何将Angular指令ng-blurng-focus到autocomplete指令中 ,以便在使用它时

<autocomplete ng-model="truck.license.number" 
              attr-placeholder="VD 102 203" data="placa_numeros"
              on-type="updateNumeros"
              on-select="select"
              ng-blur="offFocus()"
              ng-focus="onFocus()">
</autocomplete>

我可以让ng-blurng-focus执行功能。

这些angular指令旨在用于特定的HTML元素,而不是任何元素。 例如,如果您ngFocus文档 ,它将告诉您它打算在以下位置使用:

window, input, select, textarea, a

因此,为了在自定义指令中使用这些指令,而不是将“ autocomplete ”用作元素,您将需要使用上述元素之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM