私は今後の多くのAngularプロジェクトの1つでWordpressをバックボーンとして使用しています.Angularは初めてで、多くの時間を読んで学習しています。
この時点での私の問題は、ルーティングを機能させることができたのですが、何らかの理由でデフォルトの方法 (html5 モードなし) が機能しないことです。
リストがあります。リンクをクリックすると、パラメータ化された URL に移動する必要があり、このエラーが発生します
http://screencast.com/t/024t0Pl6
アプリ、サービス、およびコントローラー ファイルがあり、ここにコンテンツを投稿します。
app.js
angular.module('AngularWP', ['controllers', 'services', 'directives'])
.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/', {
controller: 'ListController',
templateUrl: 'templates/list.html'
})
.when('/view/:id', {
controller: 'DetailController',
templateUrl: 'templates/detail.html'
})
.otherwise({
redirectTo: '/'
});
}
]);
services.js
angular.module('services', [])
.factory('getAllPosts', ['$http',
function($http) {
return {
get: function(callback) {
$http.get('/wordpress/api/get_recent_posts/').success(function(data) {
// prepare data here
callback(data);
});
}
};
}
])
controller.js
angular.module('controllers', [])
.controller('ListController', ['$scope', 'getAllPosts',
function($scope, getAllPosts) {
getAllPosts.get(function(data) {
$scope.posts = data.posts;
});
}
])
.controller('DetailController', ['$scope', 'getAllPosts', '$routeParams',
function($scope, getAllPosts, $routeParams) {
getAllPosts.get(function(data) {
console.log(data);
for (var i = data.count - 1; i >= 0; i--) {
//data.count[i]
//console.log('post id is ' + data.posts[i].id);
//console.log('routeparam is ' + $routeParams);
if (data.posts[i].id == [$routeParams.id]) {
//console.log(data.posts[i]);
$scope.post = data.posts[i];
}
};
});
//$scope.orderProp = 'author';
}
]);
何が問題なのですか?