Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 广播和发射不适用于ng路由器?_Angularjs_Broadcast_Emit - Fatal编程技术网

Angularjs 广播和发射不适用于ng路由器?

Angularjs 广播和发射不适用于ng路由器?,angularjs,broadcast,emit,Angularjs,Broadcast,Emit,我想把这个值传递给一个nerds控制器到geek控制器,但无法传入ng路由器 <button type="Submit" ng-click="showUser()">Show Details</button> .when('/geeks', { templateUrl: 'views/geek.html', controller: 'GeekController' }) .when('/nerds', { templateUrl: '

我想把这个值传递给一个nerds控制器到geek控制器,但无法传入ng路由器

<button type="Submit" ng-click="showUser()">Show Details</button>

.when('/geeks', {
    templateUrl: 'views/geek.html',
    controller: 'GeekController'    
})


.when('/nerds', {
    templateUrl: 'views/nerd.html',
    controller: 'NerdController'
})
在极客控制器中,我收到页面加载本身的值,但我没有得到值,请帮助我找到解决方案

$rootScope.$on('btnName',function(event,args){
    $scope.msg=args.message;
    console.log("$scope.message nnnn",$scope.msg)
})

NerdController
GeekController
位于两个单独的页面中,一次只能激活其中一个控制器,因为angular在选项卡中只有一个页面处于打开状态。因此,我建议将变量作为参数传递给route,您可以在下面的示例中看到这一点

JS:

var routingExample = angular.module('Example.Routing', []);
routingExample.controller('NerdController', function ($scope, $location) {
    $scope.showUser = function(){
  console.log("show");
    $location.path('/geek/1');
  }
});
routingExample.controller('GeekController', function ($scope, $routeParams) {
    $scope.id = $routeParams.id;
});

routingExample.config(function ($routeProvider) {
    $routeProvider.
    when('/nerds', {
        templateUrl: 'home.html',
        controller: 'NerdController'
    }).
    when('/geek/:id', {
        templateUrl: 'blog.html',
        controller: 'GeekController'
    }).
    otherwise({
        redirectTo: '/nerds'
    });
});

NerdController
GeekController
位于两个单独的页面中,一次只能激活其中一个控制器,因为angular在选项卡中只有一个页面处于打开状态。因此,我建议将变量作为参数传递给route,您可以在下面的示例中看到这一点

JS:

var routingExample = angular.module('Example.Routing', []);
routingExample.controller('NerdController', function ($scope, $location) {
    $scope.showUser = function(){
  console.log("show");
    $location.path('/geek/1');
  }
});
routingExample.controller('GeekController', function ($scope, $routeParams) {
    $scope.id = $routeParams.id;
});

routingExample.config(function ($routeProvider) {
    $routeProvider.
    when('/nerds', {
        templateUrl: 'home.html',
        controller: 'NerdController'
    }).
    when('/geek/:id', {
        templateUrl: 'blog.html',
        controller: 'GeekController'
    }).
    otherwise({
        redirectTo: '/nerds'
    });
});