我有一条flyers
路线,该路线的模板称为flyers.hbs
<div class="button-wrap">
<button {{action 'back'}}>Go Back</button>
{{#if isPrintable}}
<button {{action 'print'}} class="float-right">Print Flyer</button>
{{/if}}
</div>
{{outlet}}
在这flyers
条路线中,我有view
和new
。New
应该只显示后退按钮,并且view
应该显示后退按钮和打印按钮。因此,在view
控制器中,我指定了类似的属性。
import Ember from 'ember';
export default Ember.Controller.extend({
isPrintable: true,
});
但是很明显flyers
,当我导航到该view
路线时,其父控制器没有看到该属性,因此我的打印按钮没有显示。
这样做的正确方法是什么?
据我了解,你想有{{isPrintable}}
在flyers
模板与价值相关的活动的子路径。也许这会为您工作。
//flyers controller
import Ember from 'ember';
export default Ember.Controller.extend({
isPrintable: true,
});
//child route
import Ember from 'ember';
export default Ember.Route.extend({
parentController: Ember.computed( function() {
return this.controllerFor('flyers');
}),
setupController: function(controller, model) {
this._super(controller, model);
this.get('parentController').set('isPrintable', false);
},
deactivate: function() {
this.get('parentController').set('isPrintable', true);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句