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 に答える