如果我有一个路由控制器如下:
add_departmentController = RouteController.extend({
before: function(){
var a = this.params._id;
var b = 'abc';
}
});
Run Code Online (Sandbox Code Playgroud)
如何在模板的帮助器中访问这些值
Template.add_department.helpers({
SomeProperty: function () {
//Here I need access to a or b from above
//Would also be nice to access 'this' directly eg. this.params
},
});
Run Code Online (Sandbox Code Playgroud)
Der*_*mbo 19
使用控制器中的数据功能
add_departmentController = RouteController.extend({
template: 'departmentTemplate',
data: function(){
return {_id: this.params._id};
}
});
Run Code Online (Sandbox Code Playgroud)
这将数据函数的返回对象作为数据上下文"注入"到模板中.
[编辑]
模板:在{{_id}}直接从数据方面来,{{idFromHelper}}返回从模板辅助函数的_id.
<template name="departmentTemplate">
{{_id}}
{{idFromHelper}}
</template>
Run Code Online (Sandbox Code Playgroud)
帮手:
Template.addDepartment.helpers({
idFromHelper: function() {
return this._id;
}
})
Run Code Online (Sandbox Code Playgroud)
Loq*_*man 13
您可以使用Router客户端代码中的对象来访问当前控制器:
Template.addDepartment.helpers({
someHelper: function() {
var controller = Router.current();
// return the _id parameter or whatever
return controller.params._id;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7969 次 |
| 最近记录: |