この記事で概説したように私はセットアップにモーダルウィンドウをしようとしています:Ember.jsモーダルコンポーネント - openModalアクションはどこに書き込むべきですか?
http://blog.atmartin.io/a-dead-simple-ember-cli-modal/
著者はopenModalアクションがアプリ/コントローラ/ application.jsに書かれていることが示された...
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
openModal: function(targetId) {
var modal = Ember.Views.views[targetId];
modal.send('toggleModal');
}
}
});
を
しかし、私はテストボタン使用して、書籍のリストページからコンポーネントを使用しています:だから
<button {{action 'openModal' 'modal-author'}}>Open Author Modal Window</button>
{{#simple-modal enabled=false title="--Simple Modal --" id="modal-author"}}
Modal text. Oh girl!
{{/simple-modal}}
を、私が試したopenModaを挿入するために(私は...間違っている可能性があります) book.jsルートにLアクション(ボタンがクリックされたとき):この場合
// app/routes/books.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll('book');
},
actions: {
openModal: function(targetId) {
var modal = Ember.View.views[targetId];
modal.send('toggleModal');
},
....
}
});
、私はEmber.viewは未定義ているように見えるのエラーを取得...
books.js:11 Uncaught TypeError: Cannot read property 'views' of undefined
どのEmberのバージョンを使用していますか?リンクされた記事の最初の段落では、このアプローチはEmberの最近のバージョンでは動作しませんし、更新されたバージョンへのリンクも含まれています。 – Terseus
ありがとうございました..私はそれを逃しています...次の段落に直接ジャンプしたので... – erwin