私はかなりシンプルなAngularJSアプリを構築していますが、簡単にするために、ルーティングを使用せず(可能であれば)、個々のAngularページをサーバーから提供します。基本的に、Angularは「ウィジェット」のレイアウトと機能にのみ使用し、ページ間の移動には使用しないでください。
そうは言っても、現在のURLからIDを取得しようとして何時間も費やしているので、
/Tickets/:id
私は私のコントローラでやりたいすべては、その後、工場にそれを渡し、URLからIDを取得しています。 (以下は擬似コードを使用した例です)
app.controller('ticketController', ['$scope', '$route',
function ($scope, $route, $location) {
//Get ID out of current URL
var currentId = someFunction().id;
factory.callFactory(ID);
}]);
ルートの作成も試みましたが、返されたオブジェクトはIDを取得する方法を提供していないようです。
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/tickets/:id',
{
templateUrl: '/partials/edit',
controller: 'ticketController'
}
);
}]);
何が間違っているのかわかりません。
$routeParams
代わりに:
app.controller('ticketController', ['$scope', '$routeParams',
function ($scope, $routeParams) {
//Get ID out of current URL
var currentId = $routeParams.id;
}]);
ui-router
を使用している場合は、$stateParams
を試してください。
app.controller('ticketController', ['$scope', '$stateParams',
function ($scope, $stateParams) {
//Get ID out of current URL
var currentId = $stateParams.id;
}]);