簡體   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