当前位置: 代码迷 >> JavaScript >> this.content未使用模板中的值更新
  详细解决方案

this.content未使用模板中的值更新

热度:26   发布时间:2023-06-07 15:53:15.0

我有以下模板

  <script type="text/x-handlebars" id="friends/new">
    <label>First Name</label>
    {{input value=firstName}}<br />

    <label>Last Name</label>
    {{input value=lastName}}<br />

    <label>About</label>

    {{textarea value=about}}<br />
    <button {{action "create"}} {{bind-attr disabled=isInvalid}}>Create</button>
  </script>

我将数据放入所有字段,然后单击“创建”按钮,该按钮转到以下控制器

App.FriendsNewRoute = Ember.Route.extend({
    model: function(){
        return { firstName: "", lastName: "", about: ""}
    }
});
App.FriendsNewController = Ember.Controller.extend({
    needs: "friends",
    isInvalid: true,

    validForm: function(){

        if(this.get('lastName') && this.get('firstName')){
            this.set("isInvalid", false);
        } else {
            this.set("isInvalid", true);
        }

    }.observes('firstName','lastName'),

    actions: {
        create: function(){

            var newFriend = Ember.copy(this.content);

            console.log(newFriend);
        }
    }
});

调用this.get('lastName') ect时,我在文本框中输入的内容正确。 但是,当我记录this.content ,该值仍然是我在FriendsNewRoute设置的初始值。 我需要怎么做才能使this.content用模板中的当前数据正确更新?

您应该更改:

Ember.Controller

Ember.ObjectController
  相关解决方案