В моем приложении мне нужно использовать некоторые маршруты, где он принимает несколько атрибутов из URL, чтобы я мог передавать их в PHP.
В настоящее время у меня есть это:
.when('/jobs/:type', {
templateUrl: function(attrs){ return '/pages/jobs.php?_type=' + attrs.type; },
controller : 'jobsController'
})
Это позволяет мне получить доступ к _type
с помощью $_GET
в jobs.php.
Я пытаюсь разобраться в этом, поэтому у меня могут быть mutiple attrs
в моем шаблоне Url? Вот пример:
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
Что просто нарушает мое приложение. Я уверен, что есть простой способ сделать это, я просто не могу понять, потому что я новичок в Javascript и Angular.
Заранее спасибо.
Это была просто ошибка, когда мой конец вызывал неправильный файл.
.when('/page/:data1/:data2', {
templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
controller : 'mainController'
})
Работает.
Не знаете, почему вы хотите назначить php файл как templateUrl. Таким образом, я не думаю, что вы сможете использовать функции angularjs в своем php файле. Лучше всего вызвать ваш php файл через сервис и манипулировать вашими данными, используя угловой интерфейс. Одним из возможных способов сделать это может быть
роутер
.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;
});