AngularJS 具有多个 URL 属性的路由
AngularJS Routing with multiple URL attributes
在我的应用程序中,我需要使用一些路由,它从 URL 获取多个属性,以便我可以将它们传递给 PHP。
我目前有这个有效:
.when('/jobs/:type', {
templateUrl: function(attrs){ return '/pages/jobs.php?_type=' + attrs.type; },
controller : 'jobsController'
})
这让我可以通过 jobs.php 中的 $_GET
访问 _type
。
我正在努力解决这个问题,以便我的模板 Url 中可以有多个 attrs
?这是一个例子:
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
这刚刚破坏了我的应用程序。我确定有一种简单的方法可以做到这一点,但我似乎无法弄清楚,因为我是 Javascript 和 Angular.
的新手
在此先致谢。
不确定为什么要将 php 文件指定为 templateUrl。这样我认为您将无法在 php 文件中使用 angularjs 功能。最好通过服务调用您的 php 文件并在前端使用 angular 操作您的数据。一种可能的方法是
路由器
.when('/page/:data1/:data2', {
templateUrl: views/page.html,
controller : 'mainController'
})
控制器
app.module('myApp').controller('mainController', function(pageService, $scope){
var init = function(){
var data1 = '1234';
var data2 = '4567';
pageService.getPageData(data1, data2)
.success(function(data){
$scope.data = data;
//
})
}
init();
})
服务
app.module('myApp').controller('pageService', function($http){
var factory = {};
factory.getPageDetails(data1, data2){
return $http({
url: '/pages/page.php?data1=' + data1 + '&data2=' + data2;,
method: 'GET'
});
}
return factory;
});
这只是我调用错误文件的错误。
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
有效。
在我的应用程序中,我需要使用一些路由,它从 URL 获取多个属性,以便我可以将它们传递给 PHP。
我目前有这个有效:
.when('/jobs/:type', {
templateUrl: function(attrs){ return '/pages/jobs.php?_type=' + attrs.type; },
controller : 'jobsController'
})
这让我可以通过 jobs.php 中的 $_GET
访问 _type
。
我正在努力解决这个问题,以便我的模板 Url 中可以有多个 attrs
?这是一个例子:
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
这刚刚破坏了我的应用程序。我确定有一种简单的方法可以做到这一点,但我似乎无法弄清楚,因为我是 Javascript 和 Angular.
的新手在此先致谢。
不确定为什么要将 php 文件指定为 templateUrl。这样我认为您将无法在 php 文件中使用 angularjs 功能。最好通过服务调用您的 php 文件并在前端使用 angular 操作您的数据。一种可能的方法是
路由器
.when('/page/:data1/:data2', {
templateUrl: views/page.html,
controller : 'mainController'
})
控制器
app.module('myApp').controller('mainController', function(pageService, $scope){
var init = function(){
var data1 = '1234';
var data2 = '4567';
pageService.getPageData(data1, data2)
.success(function(data){
$scope.data = data;
//
})
}
init();
})
服务
app.module('myApp').controller('pageService', function($http){
var factory = {};
factory.getPageDetails(data1, data2){
return $http({
url: '/pages/page.php?data1=' + data1 + '&data2=' + data2;,
method: 'GET'
});
}
return factory;
});
这只是我调用错误文件的错误。
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
有效。