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这种方式只是更清洁。 –