如何在ember.js中将params传递给路由器操作
how do I pass params to a router action in 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}}
将尝试在当前控制器上查找CCD_ 2属性。
使用最新版本的Ember,它运行得非常好,所以我怀疑您使用的是旧版的Ember。
jsFiddle:http://jsfiddle.net/G4esk/
App.ApplicationRoute = Ember.Route.extend({
events: {
example: function(object) {
console.log(object.get('name'));
}
}
});
它是Ember的旧版本。无法控制,我目前正在等待我们的Ember升级被合并。但这不是原因,尽管路由器会改变。
实际上是两部分,
- 当操作冒泡到路由器时,会向操作传递两个参数,路由器和jqEvent,参数附加在jqEvent.conf中
-
当我检查chrome控制台中的参数时,我没有看到它,因为chrome有一个优化(至少在控制台中),可以去除未使用的参数。这确实不是Ember的错,但它确实掩盖了发生的事情
{{action doSomething someProperty}}
doSomething:函数(router,jqEvent){var someProperty=jqEvent.conf;}
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- AngularJS UI路由器不能像ng路由器那样工作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- 反应路由器弄乱了请求网址
- 制作一个高阶组件,用TypeScript实现反应中继和反应路由器的交互操作
- EmberJS:如何从控制器转换到路由器's的操作
- 在骨干路由器的一个操作中绑定多个视图
- 反应 Redux 路由器 在 未定义 在操作中
- 如何从视图将操作从一个控制器/路由器发送到另一个控制器/路由器
- 从反应路由器检索后退导航操作
- redux简单路由器-根据URL执行操作
- backbone.js路由器,具有多个操作
- React Redux和Redux -observable在异步操作完成后使用路由器导航到另一个页面
- 骨干路由器问题-当通过URL访问时不会加载特定的操作
- 如何在ember.js中将params传递给路由器操作