角度改变路线,然后在该控制器中调用函数

时间:2016-08-30 20:54:27

标签: angularjs angular-ui-router

所以我有两条路线,其中一条是传单地图。我有一个socket.io运行的东西,给出地图引脚,并且当添加新引脚时,我在两个视图上都有吐司通知。

当用户点击吐司时,缩放到该针的位置,但我只知道当我已经在地图控制器中时如何实现。

如何解决此问题?在我看来,我需要切换路由并使用参数调用新控制器中的函数,这似乎不可能。

我的路线配置,在主模块中。

.config(['$routeProvider', function($routeProvider) {
  $routeProvider
    .when('/chat', {
      templateUrl: 'chat/chat.html',
      controller: 'ChatCtrl',
      controllerAs: 'chat'
    })
    .when('/map', {
      templateUrl: 'map/map.html',
      controller: 'MapCtrl'
    })
    .otherwise({redirectTo: '/map'});
}])

1 个答案:

答案 0 :(得分:0)

您可以使用ng-href为用户点击的吐司中的锚点设置网址。

<a ng-href="#/map/{{pinId}}" />

然后,当用户点击它时,它会将它们路由到地图路径。在控制器中,您应该注入 $ routeParams 以检查是否设置了参数,如果是,则将用户缩放到该引脚。