如何获取URL AngularJS的最后一部分

kam*_*myk 2 javascript url angularjs

如何在AngularJS中构建函数来chceck url的最后部分?

我的例子:

#/menu1/123/edit

#/menu2/444/create/new

#/menu3/sumbenu1/333/create/new

#/menu4/submenu2/subsubmenu1/subsubsubmenu1/543/edit

事情是:

123 444 333 543 是在Angular之外生成的ID

我需要检查我的网址的最后部分:/edit/create/new.

网址的长度将不同(/内部网址的数量).

我在Angular中有一个控制器来获取url:

.controller('urlCtrl', ['$scope', '$rootScope', '$location', function ($scope, $rootScope, $location) {

    $rootScope.location = $location;
    $scope.hashPath = "#" + $rootScope.location.path().toString();
}]);
Run Code Online (Sandbox Code Playgroud)

我正在将该#字符添加到url中,因为稍后我将它与我的JSON进行比较.

我试过这个解决方案,但它没有用(我还检查了这个主题的另一个解决方案,没有发生任何事情).

有任何想法吗?

编辑:

或者如何检查网址editcreate网址内部?

我的解决方案是:

var path = $location.path();
var multisearch = path.search(/create|edit|new/);
console.log("multisearch: " + multisearch);
Run Code Online (Sandbox Code Playgroud)

Den*_*mas 9

这应该会给你想要的结果:

window.alert(window.location.href.substr(window.location.href.lastIndexOf('/') + 1));
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令获取当前URL:window.location.href然后您只需要在最后一个'/'之后获取该部分