我正在尝试将组件中的操作发送到控制器。我有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
上注意到第一个块是一个if
语句来显示{{1 }} 或不。属性quicklaunch
与showQuickLaunch
而非user controller
有关,如何将该操作发送到nav-component
?
答案 0 :(得分:0)
在user-nav
内部组件中,您需要处理showQuickLaunch
之类的操作:
// user-nav.js
Ember.Component.extend({
actions: {
showQuickLaunch() {
this.sendAction();
}
}
});
Official Doc很好地解释了here我发布了一个虚拟的例子。
希望能帮到你!