2016-12-19 79 views
0

我試圖用ng-switch來顯示不同的超鏈接,比如修改/批准/拒絕但是超鏈接沒有顯示在屏幕上,當我用它來顯示它正在工作的文本。我錯過了什麼。這是我的HTMLAngular JS ng-switch基於ng-repeat的值顯示超鏈接

<table> 
<tr ng-repeat='item in errorsd'> 
<td ng-switch={{val.action}} align="left" class="validationMsg"> 
<span ng-switch-when="View"><a href style="cursor: pointer" data-toggle="modal" data-target="#editWindow" ng-click="ModifyConfig(details)">Modify</a></span> 
<span ng-switch-when=Approve><a href style="cursor: pointer" data-toggle="modal"data-target="#editWindow" ng-click="RejectConfig(details)">Reject</a></span> 
    <!-- and so on.. --> 
</td> 

+0

val是否定義在某處? –

+0

是的,值爲查看/批准。我可以在DOM中看到它 – Praveen

+0

'' '<! - ngSwitchWhen:View - >' '<! - ngSwitchWhen:Approve - >' '' – Praveen

回答

1

ng-switch-when需要表達比較,所以纏上'(單引號)值會做的伎倆。從ng-switch指令中刪除{{}}(插值指令),因爲它只需要表達式。

標記

<tr ng-repeat='item in errorsd'> 
    <td ng-switch="val.action" align="left" class="validationMsg"> 
     <span ng-switch-when="'View'"> 
      <a href style="cursor: pointer" data-toggle="modal" data-target="#editWindow" ng-click="ModifyConfig(details)">Modify</a> 
     </span> 
     <span ng-switch-when="'Approve'"> 
      <a href style="cursor: pointer" data-toggle="modal"data-target="#editWindow" ng-click="RejectConfig(details)">Reject</a> 
     </span> 
    </td> 
</tr> 
+0

我試着添加單引號,它沒有工作,如果我刪除{{}}我將無法獲得val.action的值 – Praveen

+0

@Praveen'ng-switch '需要範圍變量來監視'val.action'的任何值,它將與'ng-switch-when'值進行比較,並基於'val.action'值的評估顯示適當的值。 –

+0

加1用於提示刪除插值 –

0

第一您的NG-重複創建應該在NG-開關( 「VAL」 是未知的)中使用的變量 「項目」,

<td ng-switch="item.action"> 

然後你錯過了這裏的報價:

<span ng-switch-when=Approve> 

工作示例here

+0

我沒有在item.action中的值,我有它在val.action內 – Praveen

+0

然後它應該是item.val.action,或者發佈errorsd的結構 –