AngularJS Routing с несколькими атрибутами URL

0

В моем приложении мне нужно использовать некоторые маршруты, где он принимает несколько атрибутов из 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.

Заранее спасибо.

Теги:
routing

2 ответа

0
Лучший ответ

Это была просто ошибка, когда мой конец вызывал неправильный файл.

.when('/page/:data1/:data2', {
    templateUrl: function(attrs){ return '/pages/page.php?data1=' + attrs.data1 + '&data2=' + attrs.data2; },
    controller  : 'mainController'
})

Работает.

0

Не знаете, почему вы хотите назначить 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;
});
  • 0
    Мой php-файл, который я вызываю, - это просто файл шаблона, я все еще могу использовать угловые элементы внутри него.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню