[英]Cannot sendAction to route from component in ember
I am trying to send an action up through two components to my route where I will fire a createRecord action. 我正在尝试通过两个组件向我的路线发送一个动作,在该路线上我将触发createRecord动作。 I have been console.logging up through the chain but I never seem to make it to the route.
我一直在console.logging通过链,但我似乎从来没有去过这条路。 Here is the code for my route:
这是我的路线的代码:
import Ember from 'ember';
export default Ember.Route.extend({
store: this.get('store'),
actions: {
createEvent (concert) {
debugger;
console.log(concert, 'events route');
console.log(this.get('store'));
let events = this.get('store').createRecord(concert);
return events.save();
}
}
});
and my route template: 和我的路线模板:
{{display-search-results creatEvent="createEvent"}}
The subsequent components/component-templates, in sequential order are: 后续组件/组件模板按顺序排列是:
display-search-results temp: 显示搜索结果的温度:
{{thumbnail-for-search-results event=event createEvent="createEvent"}}
display-search-results component: display-search-results组件:
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['col-md-3'],
actions: {
createEvent(concert) {
console.log(concert, "display-search-results comp");
this.sendAction('createEvent', concert);
}
}
});
thumbnail-for-search-results temp: 搜索结果缩略图温度:
<img class='event-pic' src={{event.image_url}} onError="this.src='http://i.imgur.com/r7UiMQr.png';">
<div class="caption">
<h3 class="thumb-title">{{event.title}}</h3>
<p class="event-description">
{{event.venue_name}} <br> {{event.start_time}} <br> <br>{{event.city_name}} <br>
{{event.region_name}} <br>{{event.country_name}}
</p>
<p><a class="btn btn-primary" role="button"{{action "createEvent" concert on="click"}}>>Add Event</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
</div>
thumbnail-for-search-results component: 搜索结果缩略图组件:
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['thumbnail'],
// concert: this.get('store').find('eventful-event'),
actions: {
createEvent() {
console.log(this.get('event'), "thumb comp")
this.sendAction('createEvent', this.get('event'));
}
}
});
I think the action name which your firing is wrong, it is createEvent, not create record. 我认为您触发错误的动作名称是createEvent,而不是create record。 I have created an ember twiddle for interacting from component to route action.
我创建了一个余烬缠绕,用于从组件交互到路由动作。
Here u can check https://ember-twiddle.com/a81fbae955602bd9ed375995014c9fe6?openFiles=components.display-search-results.js%2Ctemplates.components.thumbnail-for-search-results.hbs 在这里您可以检查https://ember-twiddle.com/a81fbae955602bd9ed375995014c9fe6?openFiles=components.display-search-results.js%2Ctemplates.components.thumbnail-for-search-results.hbs
This is simply because of the typo here: 这仅仅是因为这里的错字:
{{display-search-results creatEvent="createEvent"}}
Use createEvent
instead of creatEvent
使用
createEvent
代替creatEvent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.