首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ember.js模式组件-我应该在哪里编写openModal操作?

Ember.js模式组件-我应该在哪里编写openModal操作?
EN

Stack Overflow用户
提问于 2016-05-02 20:07:30
回答 1查看 636关注 0票数 0

我正在尝试设置一个模式窗口,如本文所述:

代码语言:javascript
运行
复制
http://blog.atmartin.io/a-dead-simple-ember-cli-modal/

作者指出,openModal操作是在应用程序/控制器/应用程序.js中编写的。

代码语言:javascript
运行
复制
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
    openModal: function(targetId) {
        var modal = Ember.Views.views[targetId];
        modal.send('toggleModal');
    }
}
});

但是,我使用的是图书列表页面中的组件,使用的是测试按钮:

代码语言:javascript
运行
复制
  <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}}

所以,我试过了(我可能错了……)要在book.js路由中插入openModal操作(单击按钮时):

代码语言:javascript
运行
复制
// 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似乎未定义...

代码语言:javascript
运行
复制
books.js:11 Uncaught TypeError: Cannot read property 'views' of undefined
EN

回答 1

Stack Overflow用户

发布于 2016-05-02 21:05:25

您正在使用的教程使用了Ember最新版本中已弃用和删除的构造(视图)。

我建议你在最新版本的https://github.com/yapplabs/ember-modal-dialog中使用Ember插件来创建模态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36982058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档