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

用户6006387
<style>
.sidebar .logo img {
    display: none;
}

.sidebar.active .logo img {
    display: inline-block;
}

.sidebar.active .logo .first-letter {
    display: none !important;
}

.sidebar .logo .first-letter {
    display: block;
}

.first-letter {
    margin: 0;
    font-size: 30px;
    color: red;
}

.logo {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}
</style>
<div class="logo text-center">
    <img src="assets/img/VfinanceSLogo.png" width="150">
    <h1 class="first-letter">V</h1>
</div>
<div class="sidebar-wrapper"
    data-ng-if="user.userType == Constant.UserType.BORROWER.id">
    <ul class="nav">
        <li data-ui-sref-active="active"><a href="javascript:void(0)"
            data-ui-sref="web.lams.brDashboard"> <i class="material-icons">dashboard</i>
                <p class="item-name">Dashboard</p>
        </a></li>
        <li data-ui-sref-active="active"><a href="javascript:void(0)" data-ui-sref="web.lams.applicationList"> <i class="material-icons">Applications</i>
        <p class="item-name">Applications</p></a></li>

        <li data-ng-repeat="coApplicant in coApplicantList" data-ui-sref-active="active">
         <a href="javascript:void(0)" data-ui-sref="web.lams.coApplicants({id : coApplicant.id, parentUserId : coApplicant.parentUserId})">
         <i class="material-icons">{{ coApplicant.id }}</i> <p class="item-name">{{coApplicant.firstName}}</p></a>
         </li>
    </ul>
</div>



<div class="sidebar-wrapper"
    data-ng-if="user.userType == Constant.UserType.LENDER.id">
    <ul class="nav">
        <li data-ui-sref-active="active"><a href="javascript:void(0)"
            data-ui-sref="web.lams.products"> <i class="material-icons">dashboard</i>
                <p class="item-name">Dashboard</p>
        </a></li>
    </ul>
</div>


<div class="sidebar-wrapper"
    data-ng-if="user.userType == Constant.UserType.USER_TYPE.id">
    <ul class="nav">

        <li data-ui-sref-active="active"><a href="javascript:void(0)"
            data-ng-click="go()"> <i class="material-icons">Clients</i>
                <p class="item-name">Clients</p>
        </a></li>
    </ul>
</div>
<script>
    $('.sidebar').hover(function() {
        $('.sidebar').toggleClass('active');

    }, function() {
        $('.sidebar').toggleClass('active');

    })
</script>

上面是我的 sideBar.html 文件,我在其中循环 coApplicantList,这个列表填充在 sideBarCtrl.js 中。

angular.module("lams").controller("sideBarCtrl",["$scope","$rootScope","Constant","applicationService",
        function($scope,$rootScope,Constant,$state,Notification, applicationService) {

    $scope.coApplicantList = [];

    $scope.getSideBarMenus = function() {
        applicationService.getCoApplicants().then(
            function(success) {
                console.log("getSideBarMenus :: success");
                if (success.data.status == 200) {
                    $scope.coApplicantList = success.data.data;
                } 
            }, function(error) {});
    }
    $scope.getSideBarMenus();
}]);

上面是我的 sideBarCtrl.js 文件,我在其中填充了“coApplicantList”并在 sideBar.html 上呈现

angular.module("lams").controller("coApplicantProfileCtrl", function($scope, $http, ) {
    $scope.documentResponse = {};

    $scope.createNewCoApplicant = function(){
        console.log("createNewCoApplicant");
        userService.creatCoApplicantProfile($scope.userData).then(
                function(success) {
                    $scope.isDisable = false;
                    if(success.data.status == 200){
                        Notification.info("Co-Applicant Added Successfully !");
                        $uibModalInstance.close('closed');
                        applicationService.getSideBarMenus();
                        $scope.getSideBarMenus(); // I am trying to assume that scope variable which i am having inside my controller is globally declared, How can I call method that will refresh sideBarCtrl.js data and refresh the sideBar.html UI ?

                    }else{
                        Notification.error(success.data.message);
                    }
                }, function(error) {
                    $scope.isDisable = false;
                    $rootScope.validateErrorResponse(error);
         });        
    }
});

上面是我的另一个控制器('coApplicantProfileCtrl.js'),我在其中添加了将无缝附加到侧栏菜单的选项。我想要做的是将 sideBarCtrl.js 注入我的“coApplicantProfileCtrl”控制器,但这在其他地方破坏了。我的目标是刷新在“coApplicantProfileCtrl.js”中声明的 createNewCoApplicant() 成功方法中的侧栏菜单项

我尝试在 sideBarCtrl.js 文件中使用 factory ,但在注入 coApplicantProfileCtrl 控制器时也失败了。

沙尚克·维维克

Try $emit,它将发出一个事件

angular.module("lams").controller("coApplicantProfileCtrl", function($scope, $http,$rootScope ) {
    $scope.documentResponse = {};

    $scope.createNewCoApplicant = function(){
        console.log("createNewCoApplicant");
        userService.creatCoApplicantProfile($scope.userData).then(
                function(success) {
                    $scope.isDisable = false;
                    if(success.data.status == 200){
                        Notification.info("Co-Applicant Added Successfully !");
                        $uibModalInstance.close('closed');
                        applicationService.getSideBarMenus();
                        $rootScope.$emit('refresh-sidebar',data_if_any);

                    }else{
                        Notification.error(success.data.message);
                    }
                }, function(error) {
                    $scope.isDisable = false;
                    $rootScope.validateErrorResponse(error);
         });        
    }
});

sideBarCtrl 中

angular.module("lams").controller("sideBarCtrl",["$scope","$rootScope","Constant","applicationService",
        function($scope,$rootScope,Constant,$state,Notification, applicationService) {

    $scope.coApplicantList = [];

    $scope.getSideBarMenus = function() {
        applicationService.getCoApplicants().then(
            function(success) {
                console.log("getSideBarMenus :: success");
                if (success.data.status == 200) {
                    $scope.coApplicantList = success.data.data;
                } 
            }, function(error) {});
    }

    $rootScope.$on('refresh-sidebar',function(event,data){
        // you can access 'data_if_any' as 'data' variable
        $scope.getSideBarMenus();
    })

    $scope.getSideBarMenus();
}]);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在AngularJS中,如何将一个控制器的模型与另一个控制器的数据绑定?

来自分类Dev

在两个控制器中调用一个函数 - AngularJS 1.x

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

AngularJS控制器:如何在另一个控制器中调用一个控制器?

来自分类Dev

AngularJS控制器:如何在另一个控制器中调用一个控制器?

来自分类Dev

无法将数据从一个控制器移动和跟踪到另一个angularjs

来自分类Dev

调用函数或将数据传递到另一个控制器AngularJS

来自分类Dev

在AngularJS UI Bootstrap Modal中调用另一个控制器

来自分类Dev

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

来自分类Dev

AngularJS:如何在另一个控制器中执行方法?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

播放2.5.x java-如何从另一个控制器调用控制器方法?

来自分类Dev

播放2.5.x java-如何从另一个控制器调用控制器方法?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何将数据从一个视图控制器传递到导航控制器中嵌入的另一个视图控制器

来自分类Dev

如何在AngularJS中将消息从一个控制器发送到另一个控制器?

来自分类Dev

AngularJS遇到UI-Router和将ID从一个控制器链接到另一个控制器的麻烦

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何从另一个angularjs刷新一个控制器的计数器值

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    在AngularJS中,如何将一个控制器的模型与另一个控制器的数据绑定?

  5. 5

    在两个控制器中调用一个函数 - AngularJS 1.x

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

    AngularJS控制器:如何在另一个控制器中调用一个控制器?

  11. 11

    AngularJS控制器:如何在另一个控制器中调用一个控制器?

  12. 12

    无法将数据从一个控制器移动和跟踪到另一个angularjs

  13. 13

    调用函数或将数据传递到另一个控制器AngularJS

  14. 14

    在AngularJS UI Bootstrap Modal中调用另一个控制器

  15. 15

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

  16. 16

    AngularJS:如何在另一个控制器中执行方法?

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

    播放2.5.x java-如何从另一个控制器调用控制器方法?

  21. 21

    播放2.5.x java-如何从另一个控制器调用控制器方法?

  22. 22

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

  23. 23

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

  24. 24

    如何将数据从一个视图控制器传递到导航控制器中嵌入的另一个视图控制器

  25. 25

    如何在AngularJS中将消息从一个控制器发送到另一个控制器?

  26. 26

    AngularJS遇到UI-Router和将ID从一个控制器链接到另一个控制器的麻烦

  27. 27

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

  28. 28

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

  29. 29

    如何从另一个angularjs刷新一个控制器的计数器值

热门标签

归档