根据下拉值修改Handlebar模板

时间:2013-04-07 13:01:51

标签: ember.js handlebars.js

根据选择的下拉菜单,即如果选择了B,则必须为B修改模板。

模板 -

    <script type="text/x-handlebars" id="search">

                            ...

                            <div class="controls">
                                <select class="input-medium focused">
                                            <option>Any</option>
                                            <option>A</option>
                                            <option {{action 'chosenB'}} >B</option>
                                            <option>C</option>
                                            <option>D</option>
                                </select> 
                            </div>

                          {{#if searchB}} 
                               //Show view specific to B-only  
                          {{/if}}
    </script>

路由器 -

            App.Router = Ember.Router.extend({

                this.resource('search');

            });

            SearchController = Ember.ObjectController.extend({

               searchB: false,

               chosenB: function() {
               this.set('searchB', true);
               },

            });

因此,当我转到URL /搜索时,最初B的唯一视图未显示为不符合IF条件。但是,当用户从下拉列表中选择B时,我已经从模板中调用了SearchController的actionB,它应该将'searchB'设置为true,并且应该出现B-only视图,而不会发生...

请你帮忙找错...

Ember - 1.0.0-RC.2

1 个答案:

答案 0 :(得分:0)

Ember.js有一个内置的选择视图,请查看此文档http://emberjs.com/api/classes/Ember.Select.html,我认为您的问题是绑定相关的,使用正确的作业组件会有所需的行为。

希望有所帮助