Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ember.js tansitito并在模型上设置属性_Ember.js - Fatal编程技术网

ember.js tansitito并在模型上设置属性

ember.js tansitito并在模型上设置属性,ember.js,Ember.js,处理以下情况的最佳方法是什么: 我有一个处理创建特定类型的新记录的路径: e、 g 我希望能够通过如下方式链接到该路线: {{#linkTo contact.new}}New Contact{{/linkTo}} App.IndexRoute = Ember.Route.extend({ events: { contactFromCompany: function(company){ this.modelFor('contactNew').se

处理以下情况的最佳方法是什么:

我有一个处理创建特定类型的新记录的路径:

e、 g

我希望能够通过如下方式链接到该路线:

{{#linkTo contact.new}}New Contact{{/linkTo}}
App.IndexRoute = Ember.Route.extend({
    events: {
        contactFromCompany: function(company){
             this.modelFor('contactNew').set('company', company);
             this.transitionTo('contact.new');
        },
    },
联系人是具有公司属性的模型:

App.Contact = App.Person.extend({
    company: DS.belongsTo('App.Company'),
});
但我也希望能够预设联系人,以便在创建新联系人时默认设置该公司,以及在未指定默认值的情况下设置默认情况

我怎样才能做到这一点?我可以创建一条新的路线,但是,分享加价的最佳方式是什么?我应该使用分部来共享公共标记吗

我想到的一个方法是创建一个动作,将公司财产设置为:

{{#linkTo contact.new}}New Contact{{/linkTo}}
App.IndexRoute = Ember.Route.extend({
    events: {
        contactFromCompany: function(company){
             this.modelFor('contactNew').set('company', company);
             this.transitionTo('contact.new');
        },
    },
但是如果尚未设置模型,modelFor将返回undefined,除非之前访问过路由,我不确定这是否是一个好主意

我已经创建了这个来显示问题

我可以创建另一条类似的路线,但两种情况都不是很好。另一种解决方案是覆盖设置上下文的路由的设置方法

我认为这是一个相当普遍的情况,如果有一个共同的方式就好了