繁体   English   中英

发送组件动作到控制器emberjs

[英]send component action to controller emberjs

我正在尝试将组件内的操作发送到控制器。 我有一个user.hbs包含组件:

{{#liquid-if showQuickLaunch}}
    {{quick-launch}}
{{/liquid-if}}  
<div id="userAppWrapper">
    {{user-nav}}
</div>

现在,执行操作的组件是user-nav组件,就在这里:

<header class="user-main-nav">
    <nav class="user-nav">
        <ul class="list-user-nav">
            <li class="nav-brand">
                <p>Handmade Digital</p>
            </li>
        </ul>
        <ul class="list-right-user-nav right">
            <li>
                <p {{action 'showQuickLaunch'}}><i class="fa fa-plus"></i></p>
            </li>
            <li>
                <p>Rodzzlessa <i class="fa fa-angle-down"></i></p>
            </li>
        </ul>
    </nav>
</header>

如您所见,它现在具有动作showQuickLaunch,我想将该动作发送给用户控制器,因为如果您在user.hbs上注意到,则第一个块是显示或不显示quicklaunchif语句。 属性showQuickLaunchuser controller有关,而不与nav-component有关。我如何将该动作发送给user controller

user-nav组件内部,您需要处理以下操作showQuickLaunch

// user-nav.js
Ember.Component.extend({
   actions: {
     showQuickLaunch() {
       this.sendAction();
     }
   }
});

官方Doc解释得很好,我在这里发布了一个虚拟示例。

希望对你有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM