【问题标题】:$location partial path change$location 部分路径更改
【发布时间】:2014-07-29 18:52:31
【问题描述】:

如果有/#/var1/oneVariable/var2/many,more,variables/var3/last,set的路径,我想更新$location,有没有办法只更新路径的可变部分,而不必重新声明当前路径的所有内容?

这样的事情可能吗?:

$location.path(var2 = 'changed,all,three';) 

结果为@​​987654323@

【问题讨论】:

  • 我不认为有一种方法可以做到这一点,但您始终可以通过解析当前位置然后根据给定输入更改它来编写自己的方法。

标签: angularjs route-provider


【解决方案1】:

我认为默认情况下这是不可能的。但是,您可以自己创建一个函数来跟踪当前变量并在您需要更改其中一个时为您填充它们并调用$location.path()

var currentParams = {
    var1: 'oneVariable',
    var2: 'many,more,variables',
    var3: 'last,set'
};
function changePath(params) {
    angular.forEach(params, function (value, key) {
        currentParams[key] = value;
    });
    $location.path('/var1/'+ currentParams.var1 + '/var2/' + currentParams.var2 + '/var3/' + currentParams.var3);
}

您现在可以使用changePath({var2: 'changed,all,three'}) 调用它。 请注意,这是一个简化的示例。你可以让它更灵活,最好把它放到 Angular 服务中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2013-02-23
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多