作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上我是 Backbone 的新手。从我的 Angular 来看,我正在更改我的集合中名为“限制”的属性。然后我尝试触发一个事件(当属性刚刚更改时),允许我监听该事件并执行其他操作。
但是,当某些内容发生更改时从我的集合中触发一个事件,并在更改发生时监听该更改是行不通的。我认为这与 View 和集合相互通信有关。任何帮助将不胜感激!谢谢
触发事件的代码(在我的收藏中)是:
@trigger("change") #TRIGGER THE EVENT
更改我的集合中的属性的代码(有效)是:
@Properties.attr("limit", "1000") #Change the limit attr to "1000"
监听变化的代码(不起作用)是:
@Properties.on("change", ->
alert("Attribute has been changed!")
)
完整代码为:
class PropertyCollection extends Backbone.Collection
model: Property
constructor: ->
super
initialize: ->
@_attr = {}
#Function to change attribute of collection
attr: (prop, value) ->
if value is undefined
@_attr[prop]
else
@_attr[prop] = value
@trigger("change") #TRIGGER THE EVENT
limit: "0" #Attribute - default is set to 0
class HomeView extends Backbone.View
constructor: ->
super
initialize: ->
@Properties = new PropertyCollection
@Properties.attr("limit", "1000") #Change the limit attr to "1000"
#Listen for the change
@Properties.on("change", ->
alert("Attribute has been changed!")
)
template: _.template($('#home').html())
render: ->
$(@.el).html(@template)
最佳答案
您在进行更改后注册以收听该更改
改变属性->触发事件->无人监听->注册监听
所以改变这个:
initialize: ->
@Properties = new PropertyCollection
@Properties.attr("limit", "1000") #Change the limit attr to "1000"
#Listen for the change after the firing of the change (why?!!!)
@Properties.on("change", ->
alert("Attribute has been changed!")
)
对此
initialize: ->
@Properties = new PropertyCollection
#Listen for the change BEFORE you make it (yes yes yes!!!)
@Properties.on("change", ->
alert("Attribute has been changed!")
)
@Properties.attr("limit", "1000") #Change the limit attr to "1000"
希望这对您有所帮助!
关于javascript - 在 Backbone 中跨不同类触发和监听事件 - 在 CoffeeScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986075/
所以我有这个 UltraTicTacToe 游戏,我正在用 HTML/CSS/JS 编码。它由表中表中的表组成。当您单击 X 或 O 时,我想要突出显示您应该进入的下一个 TicTacToe 牌 ta
Some text Some more text 如何让每个 .example 的 .whatever 包含其 .test 的内容? 例如,如果代码是这样的: Som
我是一名优秀的程序员,十分优秀!