我有一条指向URL “ http.appname.com/employee/:empid/addproject” 的路由。
现在如何在控制器中获取动态零件:empid ?
答案 0 :(得分:1)
您可以使用某条路线的paramsFor()
方法获取特定路线的参数。例如,this.paramsFor(this.routeName)
将返回执行此代码的路径的参数。
控制器可以通过target
属性访问其相应的路由。
将这两部分放在一起,您可以通过执行this.target.paramsFor(this.target.routeName)
从其控制器访问参数。
答案 1 :(得分:-1)
您到动态路段路线的链接应为:
{{link-to (concat "go to addproject with empid=" empid) "addproject" empid }}
您的router
应该像这样启用动态参数:
this.route('addproject', {path: '/employee/:empid/addproject'});
在您的addproject model
中,您可以访问动态细分参数,例如:
model: function(dto){
return {
empid: dto.empid
};
}
在您的addproject controller
中,您可以得到路线模型的空值,例如:
import Ember from 'ember';
import {alias} from '@ember/object/computed';
export default Ember.Controller.extend({
controllerempid: alias("model.empid")
});
或者在您的addpoject template
中,您可以使用在控制器中定义的动态细分,例如:
{{controllerempid}}
您可以查看this twiddle的用法。