javascript – EmberJS:如何在选择更改时呈现模板

前端之家收集整理的这篇文章主要介绍了javascript – EmberJS:如何在选择更改时呈现模板前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是ember的新手,我正试图弄清楚当select控件发生变化时如何渲染模板.

码:

App.LocationTypeController = Ember.ArrayController.extend({

    selectedLocationType: null,locationTypeChanged: function() {
        //Render template
    }.observes('selectedLocationType')
});

{{view Ember.Select 
  contentBinding="model"
  selectionBinding="selectedLocationType"
  optionValuePath="content.id"
  optionLabelPath="content.name"}}

当locationType更改时,将在控制器中触发locationTypeChanged函数.
但是如何从那里将一些内容渲染到dom中呢? (this.render()?)…

解决方法

是的,你必须只使用this.render(),但这里的关键是它里面的选项.
App.LocationTypeController = Ember.ArrayController.extend({

 selectedLocationType: null,locationTypeChanged: function() {
    var selectedLocationType = this.get('selectedLocationType');
    this.send('changeTemplate',selectedLocationType);
 }.observes('selectedLocationType')
});

在你的路线中采取行动

changeTemplate: function(selection) {
          this.render('template'+selection.id,{into:'locationType'});
 }

并在locationType的模板中添加{{outlet}}.

{{view Ember.Select 
       contentBinding="model"
       selectionBinding="selectedLocationType"
       optionValuePath="content.id"
       optionLabelPath="content.name"}} 

{{outlet}}

样品JSBin满足您的要求

猜你在找的JavaScript相关文章