angular のフィルターを作成して、そのメソッド (_uriseg) を使用できるようにしました。
app.filter('_uriseg', function($location) {
return function(segment) {
// Get URI and remove the domain base url global var
var query = $location.absUrl().replace(BASE_URL,"");
// To obj
var data = query.split("/");
// Return segment *segments are 1,2,3 keys are 0,1,2
if(data[segment-1]) {
return data[segment-1];
}
return false;
}
});
今私は呼び出すことができます:
$scope.email = $filter('_uriseg')(3);
したがって、このフィルタを使用すると、任意の URL セグメントの値を取得できます。
誰かがデフォルトのメソッドを共有したい場合は、angular.js に似たようなものがあると今でも信じています。
また、codeigniter フェローが URI からコントローラー アクションを取得できるように、codeigniter スタイルの別のフィルターを作成しました。
app.filter('getCImr', function($location) {
return function(controller) {
// Get URI and remove the domain base url global var
var query = $location.absUrl().replace(BASE_URL,"");
// To obj
var data = query.split("/");
// Remove CI controller
delete data[0];
var result = {};
// Map action and record ID/Whatever
result[data[1]] = data[2];
return result;
}
});
それで、あなたの codeigniter URI が次のようなものだとしましょう:
domain.com/controller/function/id
次のことができます。
$scope.id = $filter('getCImr')('controller')['function'];
取得するため:
console.log($scope.id); // id
とにかくありがとう。