up on the documentation for Emberを読むと、コンポーネントによってトリガされたアクションは、その名前のアクションにヒットするまで階層を上っていくという印象を受けました。しかし、ここでは今起こっていることがあります。ゲーム以来、今、私が読んだことによるEmber2.8:コンポーネントからコントローラへのアクションの送信
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['flip-container'],
actions: {
//blank for now because testing for bubbling up
}
});
ゲーム-card.js
<div class="flipper">
<div class="front"></div>
<div class="back">
<img {{action "proveImAlive"}} src={{symbol}} />
</div>
</div>
ゲーム-card.hbs:私はそうのように書かれたゲームカード・コンポーネントを持っています-card.jsには 'proveImAlive'アクションがありません。特定のルートのコントローラ、つまりコントローラをバブルアップしようとします。
play.js(ルート/プレイ)
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
proveImAlive() {
console.log('Im aliiiiveeee');
}
}
});
しかし、私は最終的に自分のアプリケーションを実行すると、私はこのエラーを取得する:
Uncaught Error: Assertion Failed: <[email protected]:game-card::ember483> had no action handler for: proveImAlive
は今、私の質問は2つあり:
このエラーはなぜ発生しますか?
私のコンポーネントのアクションのいくつかをルートのコントローラにバブルアップさせたいと思います。例えば、ゲームカードがクリックされると、そのカードのid値(実装される)をコントローラに送信して、それを配列に格納することができます。
ゲームカードをクリックする - >送信1の値 - > arrayinController.push(1)
私はこれをどのように達成することができますか?
ありがとうございます。それは物事をはっきりとさせました。乾杯! :-) –
よろしくお願いします! – locks