Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取不带参数的URL路径

获取不带参数的URL路径
EN

Stack Overflow用户
提问于 2015-09-07 02:59:33
回答 1查看 1.7K关注 0票数 1

目标

主要思想是在没有在路由提供程序中设置的$location.path()的情况下获得:param ()。

描述

假设我的应用程序必须用一个param定义随机路径。因此,我将使用循环函数为干净的代码和干问题定义所有这些。

例如:

代码语言:javascript
运行
AI代码解释
复制
// get pool of paths from server and set them dynamically
pathsApi.get().then(function(res){
   // just example for demonstrate
   res.data = ['search1','search2','search3','search4'];
   angular.forEach(res.data, function(route,key){
      .when('/search/' + route + '/:search', route.resolve('Search', '/', 'svm'));
   });
});

// other regular paths
.when('/home', route.resolve('Home', '/', 'hvm'));
.when('/help', route.resolve('Help', '/', 'hlvm'));

Grat。一切都很好。现在我有很多可以进入的道路。

问题/我需要的建议

我有个指令可以做一些事情。其中之一是检查位置是否包含单词搜索,如果是的话,我想知道搜索路线的名称。

例如:

用户转到/#/search/search3/someText

我要去找/#/search/search3

当然,我可以使用拆分和其他技术。但我知道角知道someText是一个param (称为:search)。因此,我确信角可以告诉我,没有:search的情况下,什么是:search,所以它将仅仅是我前面提到的路径。

我正在寻找优雅的方式通过角度,没有混乱的代码,分裂或假设。我不想用$location.search或$location.hash代替。我想按原样保存URL方案。

EN

回答 1

Stack Overflow用户

发布于 2015-09-07 04:34:28

我找到了两个可能的快速解决方案,这取决于你是否喜欢它。

我用过angular-ui-router.

第一种方法是创建一个routes.json文件,在该文件中可以存储所有路由,然后在应用程序运行之前同步获取json,并将所有路由存储在$rootScope中,这样您就可以方便地在任何地方访问它们。使用此解决方案,您将始终将清晰的路径存储在json中。

代码语言:javascript
运行
AI代码解释
复制
var routes;

$.ajax({
    url : 'routes.json',
    method : 'GET',
    dataType : 'json',
    async : false
}).success(function(response){
    routes = response;
});

// Routes
var Settings = function($stateProvider, $urlRouterProvider){

    $stateProvider
        .state(routes.HOME.name, {
            url : routes.HOME.path
        })
        .state(routes.SEARCH.name, {
            url : routes.SEARCH.path + '/' + routes.SEARCH.params
        });

    $urlRouterProvider.otherwise('/');

};

Settings.$inject = [
    '$stateProvider',
    '$urlRouterProvider'
];

app.config(Settings);

route.json

代码语言:javascript
运行
AI代码解释
复制
{
    "HOME" : { "name" : "home", "path" : "/" },
    "SEARCH" : { "name" : "search", "path" : "/search", "params" : ":params" }
}

第二个参数,因为没有直接参数可以告诉您清除路径,所以您可以使用$state.current.url,它告诉您当前url包含在$stateProvider配置中键入的所有参数: like :param或:search

然后,您可以使用$stateParams知道您设置了哪些参数,并使用字符串替换将其删除。

也许能帮到你

代码语言:javascript
运行
AI代码解释
复制
// Routes
var Settings = function($stateProvider, $urlRouterProvider){

    $stateProvider
        .state('home', {
            url : '/',
            template : 'home page'
        })
        .state('search', {
            url : '/search/:param',
            controller : 'SearchCtrl'
        });

    $urlRouterProvider.otherwise('/');

};

Settings.$inject = [
    '$stateProvider',
    '$urlRouterProvider'
];

app.config(Settings);
代码语言:javascript
运行
AI代码解释
复制
// Controller
var SearchCtrl = function($scope, $state, $stateParams){

    // Parameters 
    var cleanPath;

    // Methods
    function initCtrl(){

        cleanPath = getCleanUrlPath($state.current.url, $stateParams);  

    }   

    function getCleanUrlPath(url, params){

        for( var param in params) {
            // Remove from the url all params inside $stateParams
            url = url.replace(':' + param, '');
        }

        return url;

    }

    // Initialize controller
    initCtrl();

};

SearchCtrl.$inject = [
    '$scope',
    '$state',
    '$stateParams'
];

app.controller('SearchCtrl', SearchCtrl);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32437029

复制
相关文章
在Mapx中设置单个图元的样式
        前几天研究了一下,感觉都快忘了。虽然去啃帮助仍然可以把这些东西啃出来,但有点烦。把记忆的东西零星整理一下: Mapx4不支持具体到图元的样式的指定,只能够指定到图层的样式 而在MapInfo中,是可以为每个图元指定样式的 在Mapx5中,支持对个别图元的样式的指定,所以如果有这个需要,就需要考虑用mapx5 不管是图元样式还是图层样式,都是一个style,这是一个超集。属性很多,但并非每个都能用,有些对线管用,有些对点管用,有些对面管用……这个从字面上都能看出来。 对于Label,也可以指定
用户1075292
2018/01/23
3.5K0
TreeView中节点勾选设置
本文转载:http://www.cnblogs.com/luxiaoxun/p/3288003.html
跟着阿笨一起玩NET
2018/09/18
1.3K0
html中table样式_table样式设置
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/05
5.7K0
html中table样式_table样式设置
Qt树形控件QTreeView使用1——节点的添加删除操作[通俗易懂]
QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。
全栈程序员站长
2022/09/06
6.9K0
CSS中设置鼠标样式
注释:任何版本的 Internet Explorer (包括 IE8)都不支持属性值 “inherit”。
全栈程序员站长
2022/09/04
2.9K0
:fullscreen在大屏下的样式设置
最近公司在做大屏显示,不过这个页面可以在大屏下显示,也可以在电脑上显示,不过显示的内容是不同的。
玖柒的小窝
2021/11/03
1.5K0
:fullscreen在大屏下的样式设置
javafx框架tornadofx入门实战23_treeview_advanced
treeview构建2棵有关联的文件(夹)树,通过tornadofx提供的populate,仅用3行代码实现一棵树。并可在右侧窗口查看文本文件的内容和图片 import com.dlsc.gemsfx
用户6167008
2020/03/31
2.3K1
javafx框架tornadofx入门实战23_treeview_advanced
iOS从Xib中设置样式
iOS在写视图的有的人喜欢纯代码去写,从之前的绝对定位方式(Frame),到现在的自动布局(Autolayout),但这种方式的好处是便于复制修改和装X,但是缺点是代码不容易看,不便于修改
码客说
2019/10/22
2.5K0
css设置table样式_table的样式怎么设置
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/05
4.9K0
css设置table样式_table的样式怎么设置
javafx框架tornadofx入门26_treeview_增加删除修改
treeview-add-delete-modify.gif 在上一篇的基础上,为treeview添加“增加删除修改”的功能,其中数据类Company,Department,Staff的代码在在上一篇中 import javafx.scene.control.TreeItem import javafx.scene.control.TreeView import javafx.scene.layout.Priority import tornadofx.* class MainView26 : View
用户6167008
2020/04/20
7790
javafx框架tornadofx入门26_treeview_增加删除修改
javafx框架tornadofx入门实战22_treeview
通过treeview构建文件(夹)树,就像windows文件管理器左侧的一样 treeview.gif import javafx.collections.FXCollections import javafx.collections.ObservableList import javafx.scene.control.TreeItem import javafx.scene.layout.Priority import tornadofx.* import java.io.File import ja
用户6167008
2020/03/25
7900
javafx框架tornadofx入门实战22_treeview
material Tree组件的前端模糊搜索
去跟已经平铺到一层的全部节点进行对比,parsentid === id 则添加到父节点的数组中,
biaoblog.cn 个人博客
2022/11/14
1.1K0
material Tree组件的前端模糊搜索
PowerDesigner的样式设置
PD提供了强大的配置功能,可以对生成的数据库对象命名、数据模型的展现进行设置。这里首先讲下样式的设置。
深蓝studyzy
2022/06/16
2.8K0
PowerDesigner的样式设置
用css设置html中table样式
一般情况下table默认是没有边框的,那我们应该如何给它添加边框和颜色呢,下面我们来看一下
OECOM
2020/07/01
2.5K0
《QTreeView+QAbstractItemModel自定义模型》:系列教程之三[通俗易懂]
Qt中模型类的层次结构
全栈程序员站长
2022/07/01
6.5K0
《QTreeView+QAbstractItemModel自定义模型》:系列教程之三[通俗易懂]
javafx框架tornadofx入门25_treeview_显示不同的数据类型
25treeview-company-department-staff.gif 使用treeview显示公司-部门-员工数据 import javafx.scene.control.TreeItem import tornadofx.* class MainView25 : View("tornadofx入门25_treeview_显示不同的数据类型") { val companies = (1..5).map { Company("Company$it") }
用户6167008
2020/04/14
1.6K1
javafx框架tornadofx入门25_treeview_显示不同的数据类型
SecureCRTPortable样式设置
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130562.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/11
1.2K0
SecureCRTPortable样式设置
OL2中设置鼠标的样式
在OL2中,鼠标默认是箭头,地图移动时,鼠标样式是移动样式;很多时候,为了形象起见,我们总是希望鼠标在地图上的时候和移动地图的时候鼠标的样式不是默认的效果,本文讲述如何实现这样的效果。
牛老师讲GIS
2018/10/23
8030
html table样式设计_html设置table中的字体
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/05
6K0
点击加载更多

相似问题

在TreeView中设置选定的TreeItem

30

JavaFx:再次在TreeView中添加TreeItem

14

TreeView中的TreeItem选择宽度

13

如何在Javafx中在检查treeItem的条件后在treeView中选择treeItem

10

Access treeItem,而不是treeView

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档