gpt4 book ai didi

angularjs - 路由匹配时如何在AngularJs中调用函数?

转载 作者:行者123 更新时间:2023-12-04 09:36:05 24 4
gpt4 key购买 nike

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

显示一个简单的列表,其中每个条目都可以选择。但是在选择时没有加载额外的 View 。一切尽在 ticket_lost template .该模板有一些隐藏字段,单击条目时会显示这些字段。

我可以通过设置来定义在内部选择哪个条目
selectedTicket = 1;

所以当有一条路线时
/ticket/1

我想调用一个将 selectedTicket 设置为 1 的函数。这可能吗?怎么做?我必须在路由中更改什么?

最佳答案

看看$routeParams服务。
它允许使用将由服务解析的参数设置路由:

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

在您的 Controller 中:
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();
});

关于angularjs - 路由匹配时如何在AngularJs中调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16384134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com