在Ember.js中与iframe进行通信

时间:2013-12-20 09:06:17

标签: javascript ember.js

我正在构建一个允许自定义网站的应用程序。所以它看起来像这样

+-----------------+------------------------------------------+
|   sidebar       |     Preview with editor                  |
+-----------------+------------------------------------------+
| show title  [x] | iframe which shows a preview which is    |
| show logo   [ ] | also a part of application with another  |
| chage color [x] | route and allows to add and delete       |
|                 | menu items                               |
|                 |                                          |
|                 |                                          |
+-----------------+------------------------------------------+

问题在于我无法弄清楚如何对preview说出来 我们不想显示标题/显示标识/更改颜色/等。我想我们需要为previeweditor使用相同的控制器,但我不知道如何共享控制器。

有没有办法在Ember中做到这一点?

1 个答案:

答案 0 :(得分:1)

如果要重复使用,只需扩展控制器

App.EditorController = Em.ObjectController.extend({
  showTitle:true,
  showLogo: true
  //etc
});

App.PreviewController = App.EditorController.extend({
  showTitle: false,
  //etc
});

除非您说需要从其他控制器获取信息,否则您要使用needs

http://emberjs.com/api/classes/Ember.ArrayController.html#property_needs