Javascript 扩展角度ui引导工具提示的问题
我正在尝试构建Angular UI引导的扩展版本,尽管它实际上更像是将提供程序转换为工具提示提供程序 我的目的是创建一个工具提示,它将有自己的控制器- 与使用$modal提供程序的方式大致相同 我尝试创建一个ToolTipeExtended指令,如下所示:Javascript 扩展角度ui引导工具提示的问题,javascript,angularjs-directive,angular-ui,angular-ui-bootstrap,angularjs-provider,Javascript,Angularjs Directive,Angular Ui,Angular Ui Bootstrap,Angularjs Provider,我正在尝试构建Angular UI引导的扩展版本,尽管它实际上更像是将提供程序转换为工具提示提供程序 我的目的是创建一个工具提示,它将有自己的控制器- 与使用$modal提供程序的方式大致相同 我尝试创建一个ToolTipeExtended指令,如下所示: .directive('tooltipExtended', [ 'tooltipStack', '$timeout', function (tooltipStack, $timeout) { return {
.directive('tooltipExtended', [ 'tooltipStack', '$timeout', function (tooltipStack, $timeout) {
return {
restrict: 'EA',
scope: {
index: '@',
animate: '=',
placement: '@'
},
replace: true,
transclude: true,
templateUrl: function (tElement, tAttrs) {
return tAttrs.templateUrl || 'template/tooltip/extended.html';
},
link: function (scope, element, attrs) {
//....etc....
}
};
}
]);
.directive('tooltipTransclude', function () {
return {
link: function ($scope, $element, $attrs, controller, $transclude) {
$transclude($scope.$parent, function (clone) {
$element.empty();
$element.append(clone);
});
}
};
});
angular.module("template/tooltip/extended.html", []).run(["$templateCache", function ($templateCache) {
$templateCache.put("template/tooltip/extended.html",
"<div tabindex=\"-1\" role=\"tooltip\" class=\"tooltip {{placement}}\" ng-class=\"{in: animate}\" ng-style=\"{'z-index': 1050 + index*10, display: 'block'}\" ng-click=\"close($event)\">\n" +
" <div class=\"tooltip\"><div class=\"tooltip-content\" tooltip-transclude></div></div>\n" +
"</div>");
}]);
当我这样做时,控制器似乎没有绑定到工具提示
如果我将其更改为使用现有的Angular UI引导工具提示指令,该指令将调用$tooltip提供程序,如下所示:
var angularDomEl = angular.element('<div tooltip></div>');
一切都很好,但是通过查看$tooltip提供程序的编译函数,我不明白是什么造成了这种差异-执行的唯一代码基本上是$get返回的$tooltip提供程序链接函数的构造逻辑
如果您很好奇,要获取工具提示位置,此扩展依赖于从用于触发工具提示的任何事件发送angular.element$event.target
有什么建议吗?你可以考虑把它放上去,谢谢,我给你一个机会。
var angularDomEl = angular.element('<div tooltip></div>');