我正在尝试设置一个模态窗口,如本文所述:
http://blog.atmartin.io/a-dead-simple-ember-cli-modal/
作者表示openModal操作是在app / controllers / 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}}
所以,我尝试(我可能错了......)将openModal动作(当点击按钮时)插入book.js路线:
// 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
答案 0 :(得分:0)
您正在使用一个使用已弃用的&amp;删除了最近版本的Ember中的构造(视图)。
我建议您使用https://github.com/yapplabs/ember-modal-dialog插件在最新版本的Ember中创建模态。