从自定义指令内来电角UI引导指令(Call angular UI Bootstrap directi

2019-09-29 20:17发布

目前我正在一个非常可拓形式和使用的HTML它将使代码输入,文字区域,datepickers等等等等看起来很丑陋,也非常难以阅读。 事情是,我创建了返回正确的HTML元素如自定义指令:

在HTML

<suggest-input data-ng-model="EDCtrl.headerStep.provider.identification"
               placeholder="'Ej. 888888-8'"
               label="'Identificador de emisor'">
</suggest-input>

该指令:

var suggestInput = function ($compile, $http) {
  return {
     restrict: 'E',
     require: 'ngModel',
     templateUrl: templates + '/suggestInputTemplate.tpl.html',
     replace: true,
     scope: {
         model: '=ngModel',
         label: '=label',
         title: '=title',
         placeholder : '=placeholder'
     },
   };
};

模板

<div>
  <label>{{ label }}</label>
  <input class="form-control" data-ng-model="model" placeholder="{{ placeholder }}" call="functionName()"/>
</div>

而我在与使用的角度引导指令,我的自定义指令内部,例如问题:我怎样才能称之为“UIB-预输入”使用这种配置在我的自定义指令?

有任何想法吗 ?

Answer 1:

你可以使用任何嵌套的指令,你自己一个里面, angular-ui-boostrap指令是不是在这种情况下特别。 关于uib-typeahead你可以看到在下面的例子angular-ui-bootstrap网站:

<input type="text" ng-model="asyncSelected" 
   placeholder="Locations loaded via $http" 
   uib-typeahead="address for address in getLocation($viewValue)" 
   typeahead-loading="loadingLocations" 
   typeahead-no-results="noResults" class="form-control">

要知道,唯一重要的事情是ngModel是指令本身,你可以通过访问link(scope, element, attrs,ngModelController) ngModelController具有$viewValue$modelValue其表示从外部范围粘结值属性。 所以不是scope:{model:'=ngModel'}使用这些变量的指令内绑定。



文章来源: Call angular UI Bootstrap directive from inside custom directive