gpt4 book ai didi

ember.js - 从子 Controller 设置父 Controller 属性

转载 作者:行者123 更新时间:2023-12-02 05:54:11 26 4
gpt4 key购买 nike

我有一个 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 route ,我有 viewnewNew 应该只显示后退按钮,view 应该显示后退按钮和打印按钮。因此,在 view Controller 中,我指定了一个类似这样的属性。

import Ember from 'ember';

export default Ember.Controller.extend({
isPrintable: true,
});

但很明显,当我导航到 view 路由时,flyers 的父 Controller 看不到该属性,所以我的打印按钮没有显示。

执行此操作的正确方法是什么?

最佳答案

据我了解,您希望在 flyers 模板中使用 {{isPrintable}},其值取决于事件的子路由。也许这对您有用。

//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);
}
});

关于ember.js - 从子 Controller 设置父 Controller 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com