gpt4 book ai didi

javascript - 未触发 Ember.js 组件操作

转载 作者:行者123 更新时间:2023-11-29 22:02:01 24 4
gpt4 key购买 nike

我正在尝试制作一个可重用的 ember 组件。我想给这个组件添加一个 Action ,所以当用户点击一个按钮时会发生一些事情。问题是,这个 Action 没有被调用。我是这样做的:

DummyComponent.js

App.DummyComponent = Ember.Component.extend({
actions: {
dummy_action: function() {
console.log('dummy_action fired!');
}
}
});

虚拟组件.hbs

<p>dummy component</p>
<button {{action "dummy_action"}}>Dummy action</button>

当我在我的 application.hbs 中包含该组件时,该组件正确呈现:

{{ dummy-component }}

但正如我所说, Action 并没有被触发。

如果我使用相同的方法在我的 Controller 中创建一个 Action ,该 Action 将被正确调用。

我做错了什么?

谢谢!

最佳答案

来自component guide :

Note: Components must have a dash in their name. So blog-post is an acceptable name, but post is not. This prevents clashes with current or future HTML element names, and ensures Ember picks up the components automatically.

有一个例子here .

每当 ember 发现一个未知的助手名称时,它会尝试使用 ComponentLookup 来解决它。 .在您的情况下,组件模板已成功解析,但它无法在容器中找到您的组件并注册/分配一个默认的 Ember.Component,它没有实现您的操作处理程序。

关于javascript - 未触发 Ember.js 组件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23240656/

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