我正在使用角度bootstrap ui的标签。我已经覆盖了tabs指令,以便执行延迟加载数据的Plunkr链接:http://plnkr.co/edit/VABthzUwp50QpS16Gwuy?p=preview
延迟加载完全正常。我有一个要求,在选项卡中,点击按钮时应该重新加载不同的html。
对于前者,我说有一个标签,可以呈现tab1.htm。这个tab1.htm有一个单击该按钮的按钮我想在同一个标签中呈现不同的html。
我尝试更改tab1的div的template-url,但是我无法使用新网址重新加载当前标签
答案 0 :(得分:0)
您的Plunkr使用强烈过时的Angular版本,该版本不支持与$sce
一起使用的新ng-bind-html
服务
此外,CSS还有一些我不会解决的严重问题,所以我会指出你正确的方向。
在这个答案(How can I make my HTML model data display in a <textarea> as it would in a browser?)中,您可以找到如何使用现代AngularJS版本(1.2.0或更高版本)将HTML“注入”页面。
Working Plunker:http://plnkr.co/edit/ld4Nte2KKIbgMkIWnRcP
如果你真的想坚持使用1.0.8
,你将不得不使用ng-bind-html-unsafe
,这非常简单:
<div ng-bind-html-unsafe="{{html_code}}"></div>
在某些控制器中:
$scope.html_code = "<h1>Some fancy HTML code</h1>"
答案 1 :(得分:0)
听起来你想要其中一个标签的选项来显示“条件数据”。
有一种非常简单的方法可以使用ng-view +模板作为选项卡的容器进行设置。
首先设置一个基本的ng-view:
<div ng-view></div>
通过您的app config连接...
$routeProvider.
when('/tab2', {
templateUrl: 'templates/tab2.html',
controller: 'tab2'
}).
最后,您需要向路由提供程序添加“条件加载”。链接语法将是site / module?conditional(或任何你想要的问号)。
请参阅此处的文档并搜索$ location.search()。简单地将按钮链接到条件URL,该条件URL表示选项卡的条件数据。
https://docs.angularjs.org/api/ng/service/ $位置
注意:使用$ location.search()[“”]检索条件网址后,只需将其连接到网址字符串
templateUrl: 'templates/tab2' + searchObject["v"] +'.html',
为了正确路由。如果没有呈现条件语句,则url将像往常一样路由到默认模板或html文件。
TL; DR: 1)使用$ routeProvider设置创建配置文件 2)使用选项卡的数据创建指向模板的条件链接。 3)将您的按钮链接到该链接