Emberjs:在我的模板中,我无法从我的控制器中获取值

时间:2015-09-29 16:25:57

标签: javascript ember.js ember-controllers

我创建了一个模板及其控制器,我在控制器中设置了一个变量(值),但是当我尝试访问模板时发生了变化。 我的控制器是:

    App.AboutController = Ember.Controller.extend({
    info:null,
    init: function() {
        console.log("yes i am in About controller");
        info = post["about"];
    },
  actions: {
    getdata1:function(data){
    console.log("get data",data);
    info = post[data];
    console.log(info);
    }

  }

和模板是:

<script type="text/x-handlebars" id="about" data-template-name="about">
<div class="col-xs-6 middlesubBody">
               {{info}}
           </div>
            <div class="col-xs-3 rightsubBody">
                <div id="column">
                        <div
                        {{action "getdata1" "about"}}> About</div>
                        <div>
</div>
</script>

MY Action工作正常但信息值未设置为template.i想要动态绑定。我想我错了,但我不知道问题出在哪里。

1 个答案:

答案 0 :(得分:1)

您需要使用this.set('info', value)代替info = value。此外,您多次使用post,但未在任何地方定义。我必须假设你已经在某处定义了它:

App.AboutController = Ember.Controller.extend({
  info: null,
  init: function() {
    console.log("yes i am in About controller");
    this.set('info', post["about"]);
    this._super(); // you need this to avoid unexpected behavior
  },
  actions: {
    getdata1: function(data) {
      console.log("get data",data);
      this.set('info', post[data]);
      console.log(this.get('info'));
    }
  }
});