Ember.js访问模型值

时间:2013-11-13 16:00:41

标签: ember.js

我希望能够在实际保存之前修改/验证数据。

模型

  App.Post = DS.Model.extend({
  title: DS.attr('string'),
  author: DS.attr('string'),
  date: DS.attr('date', { defaultValue: new Date() }),  
  excerpt: DS.attr('string'),
  body: DS.attr('string')
  });

路线

App.PostsNewRoute = Ember.Route.extend({
  model: function() {
    return this.get('store').createRecord('post');
  },
  actions: {
    doneEditing: function() {      
      debugger;          
      this.modelFor('postsNew').save();
      this.transitionTo('posts.index');
    }
  }
});

所以,在我想要的.save()之前的问题,让我们说,验证标题不是空的。

  1. 我尝试的所有东西都是未定义的,或者[Object object]没有.val()方法。我不知道如何获得模型的值。我怎么能这样做?

  2. 我想到的另一件事。 defaultvalValue是否按预期工作?我想将Date()设置为每个新创建的帖子。不知怎的date没有被记录,因为它没有显示。

  3. 感谢。

1 个答案:

答案 0 :(得分:2)

App.PostsNewRoute = Ember.Route.extend({
  model: function() {
    return this.get('store').createRecord('post');
  },
  actions: {
    doneEditing: function() {      
      debugger;          
      var model = this.modelFor('postsNew');
      var title =  model.get('title');
      model.save();
      this.transitionTo('posts.index');
    }
  }
});