Angularjs 角度1:如何从视图控制器向DOM添加指令
有条件地添加自定义指令的推荐方法是什么?似乎没有一篇谷歌帖子能真正回答我的问题 该应用程序允许用户显示客户信息并与之交互。在一个视图中,用户可以单击订单详细信息,从而进行API调用以返回数据。如果订单以某种类型返回,我想在已经呈现的侧边栏中添加一个指示符。这似乎是一个非常简单和常见的用例,所以我想知道我遗漏了什么 我用的是角度1.4x, 角自举 这是一个大型应用程序,但下面是一个相关代码的人为示例: sidebar.html-API调用之前:Angularjs 角度1:如何从视图控制器向DOM添加指令,angularjs,angular-ui-bootstrap,Angularjs,Angular Ui Bootstrap,有条件地添加自定义指令的推荐方法是什么?似乎没有一篇谷歌帖子能真正回答我的问题 该应用程序允许用户显示客户信息并与之交互。在一个视图中,用户可以单击订单详细信息,从而进行API调用以返回数据。如果订单以某种类型返回,我想在已经呈现的侧边栏中添加一个指示符。这似乎是一个非常简单和常见的用例,所以我想知道我遗漏了什么 我用的是角度1.4x, 角自举 这是一个大型应用程序,但下面是一个相关代码的人为示例: sidebar.html-API调用之前: <div> <a href="#
<div>
<a href="#/customer">Customer Info</a>
<a href="#/orders" id="ordertype"></a>
<a href="#/notes">Notes</a>
</div>
<div>
<a href="#/customer">Customer Info</a>
<a href="#/orders" id="ordertype">
<order-type-directive uib-tooltip="Phone Order" tooltip-trigger="mouseenter" tooltip-placement="top"/>
</a>
<a href="#/notes">Notes</a>
</div>
所以我可以做一个指示:
.directive('orderTypeDirective', function(){
...
})
或者我可以这样做:
var el = angular.element('#orderType')
.html('<span uib-tooltip="Phone Order" popover-trigger="mouseenter"></span>');
var aNewScope = $scope.$new();
$compile(el)(aNewScope)
但我知道一定有更好、更“有角度”的方法,我缺少了一些引人注目的东西。您是否尝试过使用
ng if
指令?比如:
<div>
<a href="#/customer">Customer Info</a>
<a href="#/orders" id="ordertype">
<order-type-directive uib-tooltip="Phone Order"
tooltip-trigger="mouseenter"
tooltip-placement="top"
data-ng-if="mainCtrl.orderType && mainCtrl.orderType.length>0"/>
</a>
<a href="#/notes">Notes</a>
</div>
或者您可以在您的
ng if
指令中添加任何其他条件,这些条件可能与您的案例非常匹配您是否尝试过使用ng if
指令?比如:
<div>
<a href="#/customer">Customer Info</a>
<a href="#/orders" id="ordertype">
<order-type-directive uib-tooltip="Phone Order"
tooltip-trigger="mouseenter"
tooltip-placement="top"
data-ng-if="mainCtrl.orderType && mainCtrl.orderType.length>0"/>
</a>
<a href="#/notes">Notes</a>
</div>
或者,如果指令符合您的情况,您也可以在指令中添加任何其他条件
<div>
<a href="#/customer">Customer Info</a>
<a href="#/orders" id="ordertype">
<order-type-directive uib-tooltip="Phone Order"
tooltip-trigger="mouseenter"
tooltip-placement="top"
data-ng-if="mainCtrl.orderType && mainCtrl.orderType.length>0"/>
</a>
<a href="#/notes">Notes</a>
</div>