gpt4 book ai didi

angularjs - 在 Angular 路径中传递变量名称

转载 作者:行者123 更新时间:2023-12-02 01:26:46 25 4
gpt4 key购买 nike

目前我可以使用以下代码在 AngularJs 中添加路由机制:

App.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl : '/templates/home.html',
controller : 'landing'
})
.when('/login', {
templateUrl : '/templates/login.html',
controller : 'login'
});
});

我需要的是格式如 /app/:appname 的 url,它应该获取名为 /template/:appname.html 的模板。我知道可以使用以下方法从 Controller 访问应用程序名称:

$routeParams.appname;

但是我如何根据该参数呈现模板?

最佳答案

你可以这样做:

App.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/app/:appname', {
templateUrl : '/templates/app-template.html',
controller : 'AppCtrl',
resolve: {
appPath: function ($route) {
return $route.current.params.appname;
}
}
})
});

在 AppCtrl 中,

App.controller('AppCtrl', AppCtrl);

AppCtrl.$inject = [
'$scope'
'appPath'
];

function AppCtrl($scope, appPath) {
$scope.template = appPath + '.html';
}

在 app-template.html 中,使用 ng-include就这样

<div ng-include src="template"></div>

希望这对您有所帮助。

关于angularjs - 在 Angular 路径中传递变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36717040/

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