使用backbone.js,我有一個表單提交後,提交後,savepost()函數將其重定向到儀表盤url。儀表板是一個不同的視圖,並希望該頁面說「您的帖子已提交」。我可以使用localstorage,但不想依賴它。使用backbone.js
我也看到流行的event aggregator options,但不知道這是否會在不同頁面呈現視圖。
使用backbone.js,我有一個表單提交後,提交後,savepost()函數將其重定向到儀表盤url。儀表板是一個不同的視圖,並希望該頁面說「您的帖子已提交」。我可以使用localstorage,但不想依賴它。使用backbone.js
我也看到流行的event aggregator options,但不知道這是否會在不同頁面呈現視圖。
聽起來像是你需要一個全球性的事件總線。
這裏有一個很好的例子的jsfiddle,筆者在小提琴記
https://jsfiddle.net/JamesOR/m8J9L/
var eventBus = _.extend({}, Backbone.Events);
然後,儀表板視圖內,監聽的事件。在小提琴中,您會注意到作者使用.on
。這是舊式風格,骨幹作者現在推薦listenTo
,因爲一旦刪除視圖,所有偵聽器都會自動刪除。這是不是與on
initialize: function() {
this.listenTo(eventBus,'formSubmitted',this.onFormSubmit);
}
然後,當表單提交的情況下,觸發該事件。
eventBus.trigger('formSubmitted', /** data that you want to send to handler*/);
在處理方法
onFormSubmit:function(/** data that sent to this handler*/){
//code here
}
優秀的解決方案 - 謝謝! – Trewq
沒有什麼錯視'localStorage'。它得到了廣泛的支持。您也可以使用cookie或通過第二個視圖上的請求進行檢查。 –
謝謝Onur,我忘了Cookies。非常感謝答覆。 – Trewq