如何在onCreated中分配数据上下文

时间:2015-06-17 12:20:41

标签: javascript meteor

如何在onCreated中指定数据上下文(替换整个上下文)? 以下不起作用:

Template.mine.onCreated(function() {
  this.data = function() { return "MyData"; }
})

以下是:

Template.mine.onCreated(function() {
  this.data.myData = function() { return "MyData"; }
})

我想替换整个上下文。 这可能吗?

2 个答案:

答案 0 :(得分:1)

this.data是不可变的。要替换数据上下文,请包装mine模板并传递正确的数据。 E.g;

<template name="mineWrap">
  {{> mine mydata}}
</template>

或者,将数据直接存储在模板实例上。 E.g;

Template.mine.onCreated(function () {
  this._myData = 'data';
});

Template.mine.helpers({
  myData: function () {
    return Template.instance()._myData;
  }
});

答案 1 :(得分:1)

你不能使用:Template.dynamicDocs

{{> Template.dynamic template='TEMPLATE_NAME' data=CONTEXT }}