AngularJS с маршрутом и API JSON

Я попытался использовать AngularJS с плагином JSON API. У меня нет ошибки, но маршрут не работает, и страница не печатает частичные / …?

Я изменил permalinks на %postName% .

Я использую MAMP, и моя ссылка: http://localhost:8888/angular-wp .

Содержимое JSON работает: http://localhost:8888/angular-wp/api/get_posts/

У маршрутаScope было два значения пустым.

main.html

 <p>main</p> <a href='/demo'>This links to /demo</a> <ul> <li ng-repeat='post in posts'> <a href='{{post.slug}}'>{{post.title}}</a> </li> </ul> 

demo.php

 {{post.content}} <p>demo :)</p> 

index.php

 <!DOCTYPE html> <html lang='en' ng-app='app'> <head> <meta charset='UTF-8' /> <title>hooo</title> </head> <body> <header> <h1> <a href='/'>Worcamp 2014</a> </h1> </header> <div ng-view>TODO: have angular infect the content here via ajax</div> <footer>&copy; <?php echo date('Y'); ?> worcamp</footer> <script src='<?php echo get_template_directory_uri(); ?>/bower_components/angular/angular.js'></script> <script src='<?php echo get_template_directory_uri(); ?>/bower_components/angular-route/angular-route.js'></script> <script type='text/javascript'> <?php $pathTheme = get_template_directory_uri(); ?> angular.module('app', ['ngRoute']) .config(function($routeProvider, $locationProvider) { $locationProvider.html5Mode(true); $routeProvider .when('/', { templateUrl: '<?php echo $pathTheme; ?>/partials/main.html', controller: 'Main' }) .when('/:slug', { templateurl: '<?php echo $pathTheme; ?>/partials/demo.php', controller: 'Slug' }); //.otherwise({ redirectTo: '/'}); }) .controller('Main', function($scope, $http, $routeParams){ $http.get('/api/get_posts/').success(function(res) { $scope.posts = res.posts; }); }) .controller('Slug', function($scope, $http, $routeParams){ $http.get('/api/get_posts/?slug=' + $routeParams.slug).success(function(res) { $scope.post = res.post; }); }); </script> </body> </html> 

Doublecheck, если в консоли есть «благородная» ошибка. Если это так, в соответствии с документацией AngularJS и fix.io (кредиты для этого ответа переходят к автору этого сообщения ), базовый тег должен быть спасен.

 <html ng-app="app"> <head> <base href="/angular-wp/"> <title>AngularJS Demo Theme</title> <?php wp_head(); ?> 

Обратите внимание, что «/ angular-wp /» – это субконтекст в этом случае (тестовый URL-адрес похож на « http: // localhost / angular-wp / »), вы должны его соответствующим образом заменить. Если вы установите неверный base href, вы получите ошибку, подобную той или иной .

Если вы думаете о переключении плагина: я использовал плагин WP REST API (который реализует WP API ), а затем $http.get('WPURL/wp-json/posts', function (data, ...) {...}) , который работал идеально.

Вы получаете изображение с сообщениями, например, через data[post-index].featured_image.source , см. Все свойства через console.log(data[0]) .