How to bind value form input select to attribute in controller

后端 未结 4 830
执笔经年
执笔经年 2020-12-16 05:10

I try to bind value from input select to attribute \"selectedValue\" in controller.

This is app.js

Food = Ember.Application.create();

Food.appsContr         


        
4条回答
  •  孤城傲影
    2020-12-16 05:24

    Ember now has a built-in Select view.

    You can find it in the latest Ember.js build here: http://cloud.github.com/downloads/emberjs/ember.js/ember-latest.js

    Here's an example usage:

    var App = Ember.Application.create();
    
    App.Person = Ember.Object.extend({
        id: null,
        firstName: null,
        lastName: null,
    
        fullName: function() {
            return this.get('firstName') + " " + this.get('lastName');
        }.property('firstName', 'lastName').cacheable()
    });
    
    App.selectedPersonController = Ember.Object.create({
        person: null
    });
    
    App.peopleController = Ember.ArrayController.create({
        content: [
            App.Person.create({id: 1, firstName: 'Yehuda', lastName: 'Katz'}),
            App.Person.create({id: 2, firstName: 'Tom', lastName: 'Dale'}),
            App.Person.create({id: 3, firstName: 'Peter', lastName: 'Wagenet'}),
            App.Person.create({id: 4, firstName: 'Erik', lastName: 'Bryn'})
        ]
    });
    

    Your template would look like:

    {{view Ember.Select
           contentBinding="App.peopleController"
           selectionBinding="App.selectedPersonController.person"
           optionLabelPath="content.fullName"
           optionValuePath="content.id"}}
    

    Again, here's a jsFiddle example: http://jsfiddle.net/ebryn/zgLCr/

提交回复
热议问题