我的指令与uib-datepicker-popup之间存在冲突。 我得到了
错误:[$ compile:multidir]多个指令[input(module:myModule),uibDatepickerPopup(module:ui.bootstrap.datepicker)]请求新/隔离范围
。这是我的代码:
module.run(function($templateCache){
if (!$templateCache.get('input.html')){
$templateCache.put('input.html',
'<div>' +
'<span>' +
'<button type="button" ng-click="open = true">' +
'<span class="glyphicon glyphicon-calendar"></span>' +
'</button>' +
'</span>' +
'<input type="text" class="form-control" placeholder="TT.MM.JJJJ" ng-model-options="{allowInvalid: true}" is-open="open" />' +
'</div>');
}
});
和
module.directive('input', function ($interpolate, $templateCache) {
return {
restrict: 'E',
scope: true,
controller: 'someController',
compile: function (tElem, tAttr) {
var content = angular.element($interpolate($templateCache.get('/input.html'))());
var input = content.find('input');
_.each(tAttr.$attr, function (attributeName, property) {
input.attr(attributeName, tAttr[property]);
});
tElem.replaceWith(content);
}
};
});
在视图中,它是:
<input ng-model="myModel" uib-datepicker-popup></input>
uib-datepicker-popup
导致错误。我想它正在创造自己的范围,这与顽固的范围相冲突。但我需要指令范围是真的。那我该怎么办?