【发布时间】:2018-02-18 12:58:29
【问题描述】:
我用一些方法创建了一个 Helper 类。所以我想把这个帮助类实例存储在一个反应变量中,以便在 html 模板中访问这个实例。 这可能吗?
export class APIArticle {
constructor(articleObj){
if( !_.isUndefined(articleObj) && !_.isNull(articleObj) && _.isObject(articleObj) ){
this.articleObj = new ReactiveObject(articleObj);
} else {
throw "impossible creation!!!! Article-Object or ArticleId is required!";
}
}
getCurrencyCode() {
if( _.isUndefined(this.currencyCode) || _.isNull(this.currencyCode) ){
try{
this.currencyCode = this.articleObj.sellPrice[0].money.currencyCode.toUpperCase();
}catch(e){
this.currencyCode = "EUR";
}
}
return this.currencyCode
}
}
这是我的简单课程。现在是模板 Javascript。
Template.philosArticleCarousel.created = function(){
let self = this;
this.articleArray = new ReactiveArray();
Meteor.call("articleList",function(err,succ){
if(!err){
self.articleArray.clear();
_.each(succ,function(i){
let apiArticle = new APIArticle(i);
self.articleArray.push(apiArticle);
});
}
});
};
Template.philosArticleCarousel.helpers({
articleArray:() => { return Template.instance().articleArray.list(); }
});
使用 this.getCurrencyCode 在 each 循环中的 Template 中的访问是空的。在将其打印为 JSON 时,我只看到字段,没有作为实例的迹象。
好的,如果我使用提供原语的方法一切正常。但这提供了一个对象,我如何访问它们?
【问题讨论】:
-
请添加一些代码来显示您已经尝试解决问题的方法。是否发生任何错误?请也添加它们。
-
是的,有可能
-
StackOverflow 不是免费的代码编写服务,希望您能try to solve your own problem first。请更新您的问题以显示您已经尝试过的内容,并在minimal, complete, and verifiable example 中展示您面临的特定问题。欲了解更多信息,请参阅how to ask good questions,并拨打tour of the site。
-
我从没想过有人会为我编写代码。这是一个问题。也许他们在某个地方(我没有找到)一个与我的问题完全相同的页面,这里的任何人都知道。感谢您的回答
标签: meteor