在我的模板路由器行动:我如何通过PARAMS在ember.js
<a {{action doSomething someParam}}>my cool link</a>
在路由器
doSomething: function(jqEvent){
}
然而,jqEvent总是App.Router的一个实例。我希望传入参数。我错过了什么?
谢谢。
在我的模板路由器行动:我如何通过PARAMS在ember.js
<a {{action doSomething someParam}}>my cool link</a>
在路由器
doSomething: function(jqEvent){
}
然而,jqEvent总是App.Router的一个实例。我希望传入参数。我错过了什么?
谢谢。
你传递给{{action}}
不被视为文字的参数;它们被视为当前上下文中对象的关键字。
请参阅https://github.com/emberjs/ember.js/issues/1759和https://github.com/emberjs/ember.js/issues/1796。
因此,
{{action doSomething someProperty}}
会尝试来查找someProperty
财产电流控制器上。
在RC1中,他们可以通过在他们周围放置引号来传递文字。在这种情况下,我相信'someProperty'应该是'jqEvent'的一个实例。 – Wildhoney 2013-02-21 23:15:39
使用Ember的most recent version它工作得很好,所以我怀疑你使用的是旧版本的Ember。
的jsfiddle:http://jsfiddle.net/G4esk/
App.ApplicationRoute = Ember.Route.extend({
events: {
example: function(object) {
console.log(object.get('name'));
}
}
});
这是Ember的旧版本。不能帮助,我目前正在等待我们的Ember升级合并。 但这不是原因,尽管路由器将会改变。
它实际上是两个部分,
当我在铬控制台中检查参数时,我没有看到它,因为Chrome有一个优化(至少在控制台中)剥离未使用的参数。这确实不是Ember的错,但它肯定隐藏了发生的事情。
{{动作doSomething的someProperty}}
doSomething的:函数(路由器,jqEvent){ VAR someProperty = jqEvent.context; }
你用什么版本的emberjs? – mavilein 2013-02-21 23:05:10