簡體   English   中英

無法發送動作以從余燼中的組件進行路由

[英]Cannot sendAction to route from component in ember

我正在嘗試通過兩個組件向我的路線發送一個動作,在該路線上我將觸發createRecord動作。 我一直在console.logging通過鏈,但我似乎從來沒有去過這條路。 這是我的路線的代碼:

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();
    }
  }
});

和我的路線模板:

{{display-search-results creatEvent="createEvent"}}

后續組件/組件模板按順序排列是:

顯示搜索結果的溫度:

{{thumbnail-for-search-results event=event createEvent="createEvent"}}

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);
    }
  }
});

搜索結果縮略圖溫度:

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

搜索結果縮略圖組件:

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'));
    }
  }
});

我認為您觸發錯誤的動作名稱是createEvent,而不是create record。 我創建了一個余燼纏繞,用於從組件交互到路由動作。

在這里您可以檢查https://ember-twiddle.com/a81fbae955602bd9ed375995014c9fe6?openFiles=components.display-search-results.js%2Ctemplates.components.thumbnail-for-search-results.hbs

這僅僅是因為這里的錯字:

{{display-search-results creatEvent="createEvent"}}

使用createEvent代替creatEvent

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM