【发布时间】:2017-07-31 22:12:22
【问题描述】:
我有一个服务来处理用户身份验证并通过模型获取用户数据。它获取的数据之一是饮食计划的开始日期。我想用这个日期来计算一个数字:程序启动后的天数,所以我可以用这个数字来查询从 CMS 中提取内容的不同模型。
除了模板之外,我无法在任何地方访问该号码。
这是仪表板的控制器
import Ember from 'ember';
export default Ember.Controller.extend({
authManager: Ember.inject.service('session'),
});
这是模板
{{#if authManager.currentUser.activeCleanse}}
You are on a cleanse that starts
{{authManager.currentUser.cleanse_start}}
{{else}}
You are not on a cleanse.
{{/if}}
以上所有代码都有效,但是当我在控制器中尝试这样的事情时:
activeCleanse: Ember.computed( function(){
return this.get('authManager.currentUser').then( (user) => {
return user.cleanse_active;
}.bind(this))
}),
startDate: Ember.computed( function(){
return this.get('authManager.currentUser').then( (user) => {
return user.cleanse_start;
}.bind(this))
})
并将模板替换为:
{{#if activeCleanse}}
You are on a cleanse that starts {{startDate}}
{{else}}
You are not on a cleanse.
{{/if}}
它不响应activeCleanse 为假(模板似乎只是检查它的存在)并且日期标签只显示[object Object]。
我实际上是在尝试在控制器中获取日期,以便我可以将其作为参数之一传递给仪表板路由,该路由会根据特定日期获取模型:
仪表板路线
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.get('store').queryRecord('cleanse-post', {
filter: {
tag: 'day-1'
}
});
},
});
我希望能够根据日期的计算为过滤器动态设置标签。
任何帮助将不胜感激。我觉得我一直在绕圈子,我不知道该尝试什么。
【问题讨论】:
标签: javascript node.js ember.js ember-data