簡體   English   中英

如何使用 AngularJs $emit 正確發送事件

[英]How to send events with AngularJs $emit properly

我想在某一時刻將數據從一個控制器發送到另一個控制器。 在發布之前,我已經查看了文檔並搜索了解決方案。 但似乎無法讓它正常工作。

我知道 $emit 用於向上發送范圍層次結構的事件,而 $braodcast 用於向下電報。

var app = angular.module('App.Controllers', ['ui.bootstrap'])
    .controller('FordelaPaBetankandeCtrl', 
        ['$rootScope', '$scope', 
            function ($rootScope, $scope) {

            $scope.$on("delatYrkande", function (selectedValue) {

            });

        }])
        .controller('UtskottCtrl',
            ['$rootScope', '$scope'
                function ($rootScope, $scope) {

                }])
        .controller('TidlinjeCtrl',
            ['$rootScope', '$scope'
                function ($rootScope, $scope) {

                }])
        .controller('UserInfoCtrl', ['$scope',
            function ($scope){

            }])
        .controller('VisaSammantradesplanCtrl', ['$rootScope', '$scope',
            function ($rootscope, $scope) {

            }])
        .controller('HanteraGrunddokumentCtrl',
            ['$rootScope', '$scope',
                function ($rootScope, $scope) {

                    $scope.Emit = function (selectedValue) {

                        $scope.$emit("delatYrkande", selectedValue);
                    }

                }]);

一種方法是從 $rootScope 廣播:

$scope.Emit = function (selectedValue) {
    ̶$̶s̶c̶o̶p̶e̶.̶$̶e̶m̶i̶t̶(̶"̶d̶e̶l̶a̶t̶Y̶r̶k̶a̶n̶d̶e̶"̶,̶ ̶s̶e̶l̶e̶c̶t̶e̶d̶V̶a̶l̶u̶e̶)̶;̶
    $scope.$root.$broadcast("delatYrkande", selectedValue);
}

有關更多信息,請參閱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM