2016-03-10 25 views
0

我真的找到了這個問題,並沒有找到解決方案。是否可以在ng-switch(first_3_letters_of)「xy」上結合ng-repeat?我的問題是這樣的:AngularJS ng-swith-前2個字母

<span ng-repeat="channel in device.channels" ng-switch on=<!--first_3_Letters_of-->"channel.id"> 
     <span ng-switch-when="01_"> 
       <!-- insert some graphic-->    
     </span> 
     <span ng-switch-when="02_"> 
       <!-- insert some other graphic-->    
     </span>   
</span> 

我想查一個ID的只是前綴,因爲添加另一個屬性的框架是一個大量的工作有許多限制的。更改ID名稱很簡單,首先看看它是什麼通道類型。

我很感激任何幫助!

回答

2

您可以使用內置的角度濾波器limitTo,像這樣:

<span ng-repeat="channel in device.channels" ng-switch on="channel.id | limitTo : 3"> 
    <span ng-switch-when="01_"> 
      <!-- insert some graphic-->    
    </span> 
    <span ng-switch-when="02_"> 
      <!-- insert some other graphic-->    
    </span>   

+0

這並獲得成功!非常感謝你!如果你知道它的關鍵字「limitTo」很容易:P。 – Andrea

0

是不是NG-開關只是一個速記一堆ngIf電話? 你是否專門切換?

也許是這樣的:

<span ng-repeat="channel in device.channels"> 
     <span ng-if="'01_' == channel.id.substring(0,3)"> 
       <!-- insert some graphic-->    
     </span> 
     <span ng-if="'02_' == channel.id.substring(0,3)"> 
       <!-- insert some other graphic-->    
     </span>   
</span> 
+0

我不明白...你喜歡一堆* ngIfs *而不是ngSwitch? – sp00m