2016-06-13 48 views
1

我工作的一個項目離子和有NG重複指令,列出了DOM中的所有消息的對象:如何改變AngularJS NG-重複對象中的特定樣式離子框架

<div ng-repeat="messages in allMessages" class="single-ng-repeat"> 
    <div class="bubble" 
     ng-init="messages.isgray = false" 
     ng-class="{'bg-gray' : item.isgray}" 
     on-hold="item.isgray =!item.isgray; onholdSelectMessages(item.isgray, messages);" 
     ng-class="'messageClass-' + message.id"> 
     <img class="bubble-image" ng-src="{{messages.message}}" ng-click="openImage(messages.message);" /> 
    </div> 
</div> 

那麼什麼我直到現在是當用戶Ionic 保留事件被觸發時,樣式bg-gray被添加到對象。

這工作正常。當用戶將手指握在對象上一秒鐘時,它會將其背景顏色更改爲灰色,當他再次執行此操作時,它會將其背景顏色更改爲默認白色。所以,重點是,當消息的背景設置爲灰色時,消息被選中。

因此,現在例如,用戶在該列表中具有20條消息。我想創建一個功能,以便他可以選擇這20條消息中的5條並將其保存在Angular服務中。所以用戶應該有能力選擇(等待)第1條消息和第5條消息,並且也應該選擇它們之間的所有消息。所以自動地,消息2,3和4也應該具有灰色背景色。

任何幫助,將不勝感激。

謝謝。

+0

在您的等待功能中,您應該發送$ index,然後檢查哪些消息具有灰色真實性,並且您應該將所有中間項設置爲灰色並選擇消息。這個 – MayK

+0

井有不同的解決方案,發送$索引不是問題,我想到了這一點。我知道哪些對象介於兩者之間,問題是如何獲取對象之間的獨立樣式以及如何更改它們。 –

+0

每個項目的風格取決於ng-class =「{'bg-grey':item.isgray}」,如果您爲這些項目更改item.isgray,風格將會改變。你嘗試過嗎?你有一個ng級的問題嗎? – MayK

回答

0

其實我想通了,感謝這個帖子在這裏: How to set the id attribute of a HTML element dynamically with angular js?

我動態設置HTML id來我的NG-重複內的所有對象:

<div id="{{ 'object-' + $index }}"></div> 

在那之後,我就將控制器內的樣式應用於對象ID,例如「對象-19」。

var my = document.getElementById('object-19'); 
    my.classList.add("bg-gray");