如何将事件从内部组件冒泡到Emberjs中的应用程序控制器?

阿尼什

我正在学习Ember,并使用Emberjs编写了一个简单的登录应用程序。我有一个登录框组件-处理UI和后端通信。成功登录后,我想将当前用户存储在某个地方,以便所有控制器都可以访问应用程序中的当前用户对象。我怎样才能做到这一点?我正在使用this.sendAction('action')从LoginBoxComponent冒泡事件。该事件正在正确地冒泡到LoginController(Login Controller的模板调用该组件)-但是由于loginController不在所有控制器的父路径中(我假设applicationController是所有控制器的父级-如果我错了请更正我),我让通过不在LoginController中处理事件,事件气泡上升到应用程序控制器。但是Rails抱怨

错误:什么都没有处理“ userLogin”操作。如果您确实处理了该动作,则可能是由于从控制器中的动作处理程序返回true导致此错误起泡而导致的。

模板/login.hbs

<div class="col-sm-offset-3 col-sm-6">
  {{login-box store=store action="userLogin"}}
</div>

我在components / login-box.js中的成功处理程序

  onSuccess: function(post) {
    console.log(post);
    this.sendAction('action');
  },

controllers / application.js中的代码

  actions: {
    userLogin: function() {
      this.set('currentUser', '123');
      this.transitionTo('index');
    }

但是,如果我在applicationRouter中处理此操作,它将得到正确处理-我不明白为什么它跳过了应用程序控制器。我不想在应用程序路由器中处理它,因为我无法从那里设置全局currentUser对象。

非常感谢您的帮助。谢谢!

阿蒂奇

从组件发送的操作首先进入模板的控制器。

如果控制器没有为该操作实现处理程序,它将冒泡到模板的路由,然后上升到路由层次结构。有关此冒泡行为的更多信息,请参见动作冒泡

因此,您的操作正在冒泡:登录控制器=>登录路由=>应用程序路由。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将应用程序控制器变量设置为AJAX调用返回的结果

来自分类Dev

在应用程序控制器中编写cakephp会话

来自分类Dev

在Meanjs应用程序控制器中承诺“那么”不是一个函数

来自分类Dev

从didinsertelement视图访问应用程序控制器

来自分类Dev

将应用程序控制器添加到android项目?

来自分类Dev

RAILS:会话未在应用程序控制器中包含的模块中定义

来自分类Dev

为什么在Rails引擎中明确要求应用程序控制器?

来自分类Dev

如何在另一个控制器余烬中绑定应用程序控制器属性

来自分类Dev

Rspec使用应用程序控制器方法

来自分类Dev

如何将EmberJS逐步集成到Rails Web应用程序中?

来自分类Dev

EmberJS-从其他控制器访问应用程序控制器

来自分类Dev

应用程序控制器中的全局变量?

来自分类Dev

未在应用程序控制器中设置区域设置

来自分类Dev

如何在应用程序控制器中定义helper_method

来自分类Dev

应用程序控制器中的alias_method链问题

来自分类Dev

如何使用Typescript将模块中的控制器类绑定到Javascript应用程序中?

来自分类Dev

如何将内容呈现到由应用程序模板呈现的emberjs模板中?

来自分类Dev

Rails:Rails应用程序控制器中的条件重定向

来自分类Dev

应用程序控制器导轨中的私有方法

来自分类Dev

循环依赖-Rails 4.2.0引擎的应用程序控制器中的继承

来自分类Dev

如何从IOS应用程序控制器显示半透明的视图

来自分类Dev

如何在混合应用程序中的角度控制器内部注册cordova事件

来自分类Dev

如何在应用程序控制器中测试方法?我的方法使其他测试随机崩溃

来自分类Dev

从 Angular 中的应用程序控制器访问视图控制器数据

来自分类Dev

Rails Navbar 应用程序控制器变量

来自分类Dev

CakePHP 如何将 AppController 中的 $components 合并到我的应用程序的控制器?

来自分类Dev

如何将控制器 (MVC) 添加到我用 Java 编写的 JavaFX 应用程序中?

来自分类Dev

如何从应用程序控制器中呈现错误的 json?

来自分类Dev

如何在一个特定实例的应用程序控制器中覆盖rescue_from

Related 相关文章

  1. 1

    将应用程序控制器变量设置为AJAX调用返回的结果

  2. 2

    在应用程序控制器中编写cakephp会话

  3. 3

    在Meanjs应用程序控制器中承诺“那么”不是一个函数

  4. 4

    从didinsertelement视图访问应用程序控制器

  5. 5

    将应用程序控制器添加到android项目?

  6. 6

    RAILS:会话未在应用程序控制器中包含的模块中定义

  7. 7

    为什么在Rails引擎中明确要求应用程序控制器?

  8. 8

    如何在另一个控制器余烬中绑定应用程序控制器属性

  9. 9

    Rspec使用应用程序控制器方法

  10. 10

    如何将EmberJS逐步集成到Rails Web应用程序中?

  11. 11

    EmberJS-从其他控制器访问应用程序控制器

  12. 12

    应用程序控制器中的全局变量?

  13. 13

    未在应用程序控制器中设置区域设置

  14. 14

    如何在应用程序控制器中定义helper_method

  15. 15

    应用程序控制器中的alias_method链问题

  16. 16

    如何使用Typescript将模块中的控制器类绑定到Javascript应用程序中?

  17. 17

    如何将内容呈现到由应用程序模板呈现的emberjs模板中?

  18. 18

    Rails:Rails应用程序控制器中的条件重定向

  19. 19

    应用程序控制器导轨中的私有方法

  20. 20

    循环依赖-Rails 4.2.0引擎的应用程序控制器中的继承

  21. 21

    如何从IOS应用程序控制器显示半透明的视图

  22. 22

    如何在混合应用程序中的角度控制器内部注册cordova事件

  23. 23

    如何在应用程序控制器中测试方法?我的方法使其他测试随机崩溃

  24. 24

    从 Angular 中的应用程序控制器访问视图控制器数据

  25. 25

    Rails Navbar 应用程序控制器变量

  26. 26

    CakePHP 如何将 AppController 中的 $components 合并到我的应用程序的控制器?

  27. 27

    如何将控制器 (MVC) 添加到我用 Java 编写的 JavaFX 应用程序中?

  28. 28

    如何从应用程序控制器中呈现错误的 json?

  29. 29

    如何在一个特定实例的应用程序控制器中覆盖rescue_from

热门标签

归档