2016-05-02 8 views
0

この記事で概説したように私はセットアップにモーダルウィンドウをしようとしています: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 
+1

どのEmberのバージョンを使用していますか?リンクされた記事の最初の段落では、このアプローチはEmberの最近のバージョンでは動作しませんし、更新されたバージョンへのリンクも含まれています。 – Terseus

+0

ありがとうございました..私はそれを逃しています...次の段落に直接ジャンプしたので... – erwin

答えて

0

あなたは、 Emberの最近のバージョンで廃止された&の削除された構成(ビュー)を利用するチュートリアルを使用しています。

最近のバージョンのEmberでモーダルを作成する場合は、https://github.com/yapplabs/ember-modal-dialogアドオンを使用することをお勧めします。

+0

リンクのためにありがとうございました...これは、要件が指定されていないときに多くのツイートが繰り返される問題です...コンポーネントを使用していたので、私はそれが2.5レディだったと推測しました – erwin

関連する問題