如何调用路由匹配时AngularJs的功能?(How to call a function in A

2019-09-02 00:21发布

$routeProvider.when('/ticket', {
    controller: TicketController, 
    templateUrl: Routing.generate('ticket_list')
});

显示一个简单的列表,其中每个条目是可选择的。 但是在选择没有多余的看法是加载。 每一件事情是ticket_lost template 。 该模板具有点击进入时所透露了一些隐藏的字段。

我可以定义哪个条目是通过设置内部选择

selectedTicket = 1;

因此,当有喜欢的路线

/ticket/1

我想打电话给那台selectedTicket到1之间的功能是可能的吗? 怎么做? 我有什么在路由改变?

Answer 1:

看看$ routeParams服务。 它允许建立与路线将由服务解析参数:

// Given:
// URL: http://server.com/index.html#/ticket/1
// Route: /ticket/:ticketId
//
// Then
$routeParams ==> {ticketId:1}

在你的控制器:

angular.module('myApp')
    .config(['$routeProvider', function($routeProvider) {
        $routeProvider.when('/ticket', {controller: 'TicketController'});
        $routeProvider.when('/ticket/:ticketId', {controller: 'TicketController'});
        $routeProvider.otherwise({redirectTo: '/ticket'});
    }])
    .controller('TicketController', function ($scope, $routeParams) {
        var init = function () {
            if ($routeParams.ticketId) {
                $scope.ticketSelected($routeParams.ticketId);
            }
        };

        // fire on controller loaded
        init();
    });


文章来源: How to call a function in AngularJs when route matches?