0

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

    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>

我的操作工作正常,但信息值未设置为模板。我想动态绑定。我想我错了,但我不知道问题出在哪里。

4

1 回答 1

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'));
    }
  }
});
于 2015-09-29T16:48:40.080 回答