我不知道如果我正確標題爲我的問題,但這裏是我想達到什麼我迄今(簡體儘可能):如何在MongoDB遊標屬性更改時觸發函數? (角流星)
我有什麼至今:
對於我創建了一個 「訪客」 對象每個訪問者:
{
name:"Bob",
mouseX:"31", // The mouseposition is constantly updated
mouseY:"400",
messages:[
{text:"Message Text",prop:"other property"},
{text:"Another Message"}
]
}
之後,我的對象綁定到範圍:
$scope.helpers({
visitor:() => Visitors.findOne({"_id":id})
});
個
消息顯示一個NG重複在visitor.messages模型內部:
<div ng-repeat="msg in visitor.messages">
<span class="text {{msg.class}}"> {{msg.text}} </span>
</div>
一位來訪者可以發送一個新的消息有:
Visitors.update(
{_id: visitor._id},
{$push: {messages: {"text":"New Message"}}}
);
我想做
什麼當Bob收到一條新消息時,我想要觸發該功能newMessageArrived()併爲新消息設置動畫。
的問題,什麼我想到目前爲止
首先,我試圖用角:角動畫包裝和動畫的CSS類,但新的消息NG輸入觸發每次遊客全部消息。 mouseX已被更新,即使Visitors-Object中的消息沒有被推送,仍然只爲新消息觸發所有消息。
那好吧,因爲我猜想當訪客對象改變時,整個DOM被重建。現在,我想簡單地看支撐的遊客,對象像消息:
scope.$watch("visitor.messages", function (newValue, oldValue) {
newMessageArrived()
});
再次newMessageArrived()
與每個更新到遊客-對象觸發。當然,我可以用類似於檢查消息數組的長度來捕捉這個愚蠢的東西,但在我的理解中,即使使用$ watch也沒有錯。
問題
那麼,什麼是對的變化在MongoDB的光標(對象)的屬性反應的角流星呢?
請考慮我的例子極其簡化,以專注於我的問題,但我也是流星的新手,甚至在Angular中都沒有經驗。此外,這是一個「概念證明」項目,不適用於任何商業或專業環境,因此安全性,性能和可維護性沒有平常那麼重要。
感謝您的時間,並希望有任何幫助