8
Flash消息的骨幹是否存在擴展?它似乎是Web框架(服務器端至少)的一個常見功能。似乎沒有,我試圖做我自己的:BackboneJS Flash消息
class FlashMessenger extends Backbone.Model
constructor: ->
@messages = []
# add a message to the messages array
add: (type, message) ->
@messages.push
type: type
message: message
# returns all existing messages and clearing all messages
getMessages: ->
ret = @messages.slice(0)
@messages = []
return ret
現在,我想知道如何將它們自動注入到我的意見。我會想我的消息顯示,當我使用Backbone.Router.navigate()
如:
app.flashMessages.add("success", "Successfully logged in")
appRouter.navigate("dashboard")
# flash messages should show when I render the view
Woooaa。完善!我正在尋找這種解決方案。 +1 –
太棒了!你能解釋爲什麼你克隆'Backbone.Events',不使用現有的對象? – skalee
首先,你不克隆它,你用它擴展一個空的對象,例如如上所述或'var Dispatcher = Backbone.Events.extend({});'因爲所有的Backbone contstructor似乎都有內置的'extend'方法。至於爲什麼要創建另一個對象而不是使用Backbone.Events - 我會說,因爲你不想改變框架,作爲一個規則,創建一個Dispatched對象可能以後需要添加自定義方法。 IMO這種方式只是更清潔。 –