Sin*_*eta 2 twitter-bootstrap angularjs
我已经创建了一个jsBin来说明这个问题.
当使用来自Angular UI的工具提示时,该元素也使用指令要求隔离的范围,例如:
.directive('smile', function() {
return {
scope: {},
template: ':)'
};
});
Run Code Online (Sandbox Code Playgroud)
我在Firefox中遇到以下错误,但在Chrome中没有:
错误:多个指令[smile,tooltip]要求隔离范围:<a class ="ng-isolate-scope ng-scope"href ="#"tooltip ="Tooltip"tooltip-placement ="bottom"smile ="" >
这很奇怪,因为我不希望工具提示要求隔离范围.这是我的理解这行源说,该指令并没有要求一个孤立的范围,只有弹出它获取页面的底部注入一样.
我在这里错过了什么?为什么这个错误只出现在Firefox中?
您提到的代码行说
限制:'EA',
Run Code Online (Sandbox Code Playgroud)scope: true, link: function link ( scope, element, attrs ) { var tooltip = $compile( template )( scope ); var transitionTimeout; var popupTimeout;.....
设置范围为true还会创建一个新范围,该范围原型继承自父范围.[Google群组]
所以,当你这样做
范围 : {},
也创建一个新的范围,但是孤立.所以两个范围相同
<a>
而且每个元素只能有一个范围.
对于Firefox问题请参阅:相同元素上的孤立范围单一断言适用于Chrome,在Firefox上失败 https://github.com/angular/angular.js/issues/3208