【发布时间】:2013-08-15 14:42:49
【问题描述】:
我有一个按钮,我想触发引导弹出窗口。这很好用,只是我需要该弹出框在其中包含另一个指令(基本上弹出框包含项目列表)。
我找到了这篇文章http://tech.pro/tutorial/1360/bootstrap-popover-using-angularjs-compile-service,但我觉得这篇文章不太适合我。
我做了一个自定义指令
.directive('popoverhtml', function ($compile) {
return {
restrict: 'A',
transclude: true,
template: "<span ng-transclude></span>",
scope: {
},
link: function (scope, element, attrs) {
console.log($(element));
var options = {
content: "<br><br>Hey",
placement: "right",
html: true,
title: "HEY",
trigger: "click"
};
$(element).popover(options);
}
}
以下是我的 HTML 标记
<button type="button" class="btn btn-primary btn-small" popoverHTML><i class="icon-white icon-plus"></i></button>
现在我没有将任何自定义 html 传递给它(如果有人知道该怎么做,我也会很感激这方面的一些指导)我只是想让弹出框出现在content 中硬编码的 html选项对象的参数。
但是,一旦带有按钮的视图加载(在我单击按钮之前),我就会收到以下错误
TypeError: Object [object Object] has no method 'popover'
根据我的 googlefu,这可能意味着很多事情,我希望能深入了解这在 Angular 的上下文中可能意味着什么。
谢谢!
编辑:我的 JS 列表包括。
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular-resource.min.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.4.0.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/1.3.1/js/toastr.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/0.7.4/angular-strap.min.js"></script>
<script src="js/admin-angular.js"></script> <-- My custom include
<script src="js/admin-jquery.js"></script> <-- My custom include
<script src="js/jquery.watermark.min.js"></script>
<script src="js/jquery.base64.js"></script>
【问题讨论】:
-
不是一个真正的答案,但您是否尝试过 Bootstrap 的角度指令:angular-ui.github.io/bootstrap
-
+1 角度 UI 引导弹出框非常简单,它们允许您在弹出框中使用指令。
-
他们的 popover 指令实际上是我开始的地方......我没有看到显示如何在弹出窗口中使用您的自定义指令(或任何指令)的示例。我觉得我错过了一些非常明显的东西。谢谢大家。
-
@Jon7 你能详细说明一下吗?我没有看到任何关于如何在 popover html 中包含自定义指令的示例。谢谢。
-
很抱歉!我在想AngularStrap。 AngularUI 没有这个功能。我在回答中详细说明了。
标签: javascript angularjs angularjs-directive