在我的应用程序中,我需要使用一些路由,它从URL获取多个属性,所以我可以用PHP传递它们。
我目前有这个有效:
.when('/jobs/:type', {
templateUrl: function(attrs){ return '/pages/jobs.php?_type=' + attrs.type; },
controller : 'jobsController'
})
这使我可以在jobs.php中使用_type
访问$_GET
。
我正在努力解决这个问题,因此我的模板Url中可以有多个attrs
?这是一个例子:
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
这会破坏我的申请。我确信有一种简单的方法可以解决这个问题,因为我对Javascript和Angular很新。
先谢谢。
答案 0 :(得分:0)
不确定为什么要将php文件指定为templateUrl。这样我认为你不能在php文件中使用angularjs功能。最好通过服务调用你的php文件,并使用前端的角度来操纵你的数据。一种可能的方法是
ROUTER
.when('/page/:data1/:data2', {
templateUrl: views/page.html,
controller : 'mainController'
})
CONTROLLER
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();
})
SERVICE
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;
});
答案 1 :(得分:0)
我最后调用错误的文件只是一个错误。
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
是否有效。