如何在同一事件中将数据从一个控制器传递到服务并在另一个控制器上访问该数据?

悉达多·索塔

尝试使用我的服务将数据从一个控制器传递到另一个控制器时,我遇到了一些问题。

我一直在使用$rootScope控制器中的来实现原型继承,并广播该对象,以便可以在其他控制器中访问该数据。

在使用时$rootScope,我正在污染全局名称空间,我想将数据从该控制器传递给另一个控制器。

我只是在表内显示最少的数据,当用户单击表的特定记录时,我想在对象内显示整个数据。

这就是我的处理方式。

<tr ng-repeat="contact in filterContacts = (contacts.contactsData | filter:sensitiveSearch | orderBy:selectBox) " ng-style="{'background-color': contact.email == selectedContact.email ? 'lightgrey' : ''}" ng-click="selectContact(contact)">

在控制器A中:我从视图中调用此函数并注入特定的行联系人详细信息。

$scope.selectContact = function(contact) {
                contactService.selectedContactInfo(contact);
            };

在服务中,我只是返回该数据-

var selectedContactInfo = function(contact) {
            return contact;
        };

在同一事件期间,如何在Controller B中访问此数据并将其显示在我的视图中。

Here is the reference Link: http://plnkr.co/edit/beOmiv?p=info

我不想使用$rootScope,但是我想将数据访问到另一个控制器上。

安德烈·德拉戈托纽(Andrei Dragotoniu)

您可以为此使用角度服务。

角度服务是单例,您将它们注入控制器中,因此可以在两个不同的控制器中注入相同的服务,从而有效地在它们之间传递状态。

假设您的服务中有一个属性,可以称为selectedUserID。当您单击特定的行时,您将更新此属性。然后,在下一个控制器中,注入相同的服务,并使用此属性确定要加载的详细信息。

这样您就可以在服务内部拥有一个如下所示的方法:

updateSelectedUser = function(userID) {
    this.selectedUserID = userID;
}

然后,您的控制器会在点击操作发生时从服务中调用此方法:

myService.updateSelectedUser($scope.selectedUserID);

当然,这只是一个示例,您可以在其中放置自己的价值观。

要记住的一件事:服务可以保持状态,它们毕竟是对象并且是单例的,因此您总是要注入相同的实例。

确保存储在服务内部的状态没有被不通过该服务的外部动作修改是有意义的。换句话说,请确保没有其他更改此selectedUserID,以使您的服务状态数据永不同步。如果您能做到这一点,那么您就是金。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在CakePHP 3中将数据从一个控制器传递到另一个控制器?

来自分类Dev

如何在angularjs中将对象数据从一个控制器传递到另一个控制器

来自分类Dev

如何在Codeigniter中将数组从一个类控制器传递到另一个

来自分类Dev

如何在 Rails 中将控制权从一个控制器传递到另一个控制器?

来自分类Dev

如何使用 Laravel 在一个控制器中将数据从一个函数传递到另一个函数?

来自分类Dev

如何将数据从一个视图控制器传递到另一个SWIFT

来自分类Dev

如何将数据从一个视图控制器传递到另一个SWIFT

来自分类Dev

如何将数据从一个视图控制器传递到另一个?

来自分类Dev

如何在angularjs中将数据从一个控制器发送到另一个

来自分类Dev

如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

来自分类Dev

如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

来自分类Dev

如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

来自分类Dev

如何从一个控制器访问同一帖子到另一个?

来自分类Dev

从AngularJS如何将数据从一个控制器+模板传递到另一个控制器+模板?

来自分类Dev

在我的情况下,如何将数据从一个控制器传递到另一个控制器

来自分类Dev

如何将脆弱数据(例如连接字符串)从一个控制器传递到另一个控制器

来自分类Dev

如何在Rails中将数据从一个模型/控制器发送到另一个模型/控制器

来自分类Dev

如何在Swift中将数据从一个视图控制器移动到另一个视图控制器?

来自分类Dev

从一个控制器访问另一个控制器的数据

来自分类Dev

从一个控制器读取数据到另一个

来自分类Dev

如何在 AngularJs 1.7.x 中从一个控制器调用方法到另一个控制器,以刷新 UI 数据

来自分类Dev

将特定数据从一个控制器传递到另一个

来自分类Dev

快速将数据从一个选项卡控制器传递到另一个

来自分类Dev

似乎无法将数据从一个控制器传递到另一个

来自分类Dev

如何在Laravel中将值从一个控制器传递给另一个控制器

来自分类Dev

如何在Laravel中将值从一个控制器传递给另一个控制器

来自分类Dev

无法使用Segue Swift 5将数据从一个控制器传递到另一个控制器

来自分类Dev

将数据从一个控制器传递到另一个非子级或父级控制器的最佳实践?

来自分类Dev

组件,在 Angularjs1.5 中绑定 - 将数据从一个控制器传递到另一个控制器

Related 相关文章

  1. 1

    如何在CakePHP 3中将数据从一个控制器传递到另一个控制器?

  2. 2

    如何在angularjs中将对象数据从一个控制器传递到另一个控制器

  3. 3

    如何在Codeigniter中将数组从一个类控制器传递到另一个

  4. 4

    如何在 Rails 中将控制权从一个控制器传递到另一个控制器?

  5. 5

    如何使用 Laravel 在一个控制器中将数据从一个函数传递到另一个函数?

  6. 6

    如何将数据从一个视图控制器传递到另一个SWIFT

  7. 7

    如何将数据从一个视图控制器传递到另一个SWIFT

  8. 8

    如何将数据从一个视图控制器传递到另一个?

  9. 9

    如何在angularjs中将数据从一个控制器发送到另一个

  10. 10

    如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

  11. 11

    如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

  12. 12

    如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

  13. 13

    如何从一个控制器访问同一帖子到另一个?

  14. 14

    从AngularJS如何将数据从一个控制器+模板传递到另一个控制器+模板?

  15. 15

    在我的情况下,如何将数据从一个控制器传递到另一个控制器

  16. 16

    如何将脆弱数据(例如连接字符串)从一个控制器传递到另一个控制器

  17. 17

    如何在Rails中将数据从一个模型/控制器发送到另一个模型/控制器

  18. 18

    如何在Swift中将数据从一个视图控制器移动到另一个视图控制器?

  19. 19

    从一个控制器访问另一个控制器的数据

  20. 20

    从一个控制器读取数据到另一个

  21. 21

    如何在 AngularJs 1.7.x 中从一个控制器调用方法到另一个控制器,以刷新 UI 数据

  22. 22

    将特定数据从一个控制器传递到另一个

  23. 23

    快速将数据从一个选项卡控制器传递到另一个

  24. 24

    似乎无法将数据从一个控制器传递到另一个

  25. 25

    如何在Laravel中将值从一个控制器传递给另一个控制器

  26. 26

    如何在Laravel中将值从一个控制器传递给另一个控制器

  27. 27

    无法使用Segue Swift 5将数据从一个控制器传递到另一个控制器

  28. 28

    将数据从一个控制器传递到另一个非子级或父级控制器的最佳实践?

  29. 29

    组件,在 Angularjs1.5 中绑定 - 将数据从一个控制器传递到另一个控制器

热门标签

归档