0

当 ember 选择元素发生变化时,如何加载视图或模板内容?

我对 ember 并不陌生,这可能很容易,但我已经为这个简单的任务付出了太多的努力。有什么建议么?

4

2 回答 2

2

尽管您应该发布一些您尝试过的代码,但此示例可能会帮助您入门,以便您改进您的问题。

有关如何根据选择框的选定值更改按钮标签的示例,请参见此处。

希望能帮助到你。

于 2013-07-09T14:29:51.337 回答
2

跟进@intuitivepixel 的回答,这里是如何根据选择更改动态加载模板。

//EMBER APP TEMPLATE
App = Ember.Application.create();

App.ApplicationRoute = Ember.Route.extend({
  model: function(){
      return [
          {name: 'Kris', template: 'kris'},
          {name: 'Luke', template: 'luke'},
          {name: 'Alex', template: 'alex'}
      ];
  }
});

App.EmbeddedView = Ember.View.extend({
  templateName: Ember.computed.alias('controller.selected'),
  templateNameDidChange: function() {
    this.rerender();
  }.observes('templateName')
});

<script type="text/x-handlebars">
  <h4>Load a view on ember select change?</h4>
  {{view Ember.Select 
         contentBinding="this" 
         optionValuePath="content.template" 
         optionLabelPath="content.name" 
         valueBinding="selected" 
         prompt="Please select a name"
  }}
  <hr/>
  {{view App.EmbeddedView}}
</script>
<script type="text/x-handlebars" id="luke">
  THE LUKE TEMPLATE
</script>
  <script type="text/x-handlebars" id="alex">
  THE ALEX TEMPLATE
</script>
  <script type="text/x-handlebars" id="kris">
  THE KRIS TEMPLATE
</script>

此示例将根据选择框在 luke/alex/chris 模板之间切换。

请参阅此 jsbin 以获取实时示例:http: //jsbin.com/uzekop/1/edit

于 2013-07-09T15:21:53.500 回答