4

コレクションからのリアクティブ要素のリストを使用して {{#each}} を実行する標準テンプレートがあります。

私が抱えている問題は、特定の要素が更新されたという事実に注意を引くために、コレクション内で更新されるたびに特定の要素のフォント プロパティを変更したいということです。

これを行うための適切でエレガントな方法を見つけることができませんでした。誰かが私を正しい方向に向けることができますか? ありがとう!

4

2 に答える 2

2

カーソルの監視を確認することをお勧めします。一部のドキュメントが更新または変更された場合は、イベントが呼び出された場合のように何でもできます。

li#model-1273927381273 model-1273927381273

Modal.find().observe
    changed: (newDocument, oldDocument) ->
        ($ '#model-'+ newDocument._id).action()

http://docs.meteor.com/#observe

i use similar code currently but dont know how to prevent init documents load.
于 2013-03-14T03:34:00.153 に答える
0

あなたの質問と同様に、特定のセッション変数 (GPS の場所) が変更されるたびに div を「フラッシュ」したかったのです。以下の私の解決策。

/client/main.js で:

Session.setDefault('lat', 0);
Session.setDefault('lng', 0);
Session.setDefault('locationChange', 1);

と:

Meteor.setInterval(function() {
    getLocation();

}, 5000); 

function getLocation() {
    Location.locate(function(pos){
        var oldLat = Session.get("lat");
        var oldLng = Session.get("lng");

        Session.set('lat', pos.latitude);
        Session.set('lng', pos.longitude);

        if (oldLat != Session.get("lat") || oldLng != Session.get("lng"))
            Session.set("locationChange", -1 * Session.get("locationChange"));

    }, function(err){
        console.log("Location not obtained: ", err);
    });     
}

テンプレートで、ユーザーに変更を警告したい /client/templates/someTemplate.html とします。

<span class="glyphicon glyphicon-screenshot" aria-hidden="true" data-locationChange='{{locationChange}}'></span>

関連する JavaScript ファイルで、/client/templates/someTemplate.js とします。

Template.appBody.helpers({
    locationChange: function() {
        $("#locationIcon").fadeOut(100).fadeIn(100);

        return Session.get("locationChange");
    },    
});

そのため、GPS 座標が変更されるたびに (必ずしも更新されたときとは限りません)、'locationChange' の値は 1 から -1 に、またはその逆に反転されます。これにより、(無意味な) 属性「data-locationChange」を更新する「locationChange」ヘルパーがトリガーされますが、テンプレート内のスパンをフラッシュする jQuery スクリプトもトリガーされます。

于 2015-10-21T13:45:30.023 に答える