不要在AngularJS中更改URL

时间:2014-06-26 12:07:38

标签: angularjs routes

我的HTML中有2个让我们说X和Y. X包含一个对象列表,Y显示“不同视图”,其中填充了与在X中单击的项目相关的相关数据。

假设点击(柠檬,橘子等),我会看到它像“酸味”“重量”这样的属性 假设如果点击(Wine,Beer),我会看到它的属性,如“Alcohol%”等。

由于属性不同所以我创建了不同的视图并相应地传递参数以显示apt数据。

如果我没有错,我们将使用$ routeProvider,然后定义.config,传递一些参数等。但是这“改变了我的网址”,我不希望这样。

甚至可能在AngularJS中我希望得到什么?

P.S检查此Link并在选择不同的名称时密切注意URL:)

1 个答案:

答案 0 :(得分:2)

您要查找的是配置文件。

您需要查看ng-view和模板。通过?可以在AngularJS中有条件地加载? URL中的变量。你可以通过$ location.search()找到它作为哈希来映射这个。

从本质上讲,如果有人加载柠檬,你希望他们点击柠檬为你的网址添加一个条件网站http://fruit?v=lemon

$ location.search()将返回{“v”:“lemon”}

使用$ location.search()[“v”]将允许您检索字符串“lemon”,而不是简单地通过您的配置重新映射它以显示“酸味/重量”html

 function($routeProvider) {
    $routeProvider.
      when('?v=lemon', {
        templateUrl: 'templates/lemon.html',
        controller: 'lemonCtrl'
    }).

等。