如果我的 url 包含路由参数,则哈希链接会以角度重新路由

2023-11-24

如果我有一个一级路由,那么哈希链接将按预期工作,无需重新路由。但是,我有一些国家 / kh 的网址,如果我尝试使用诸如国家 / kh#projects 之类的哈希标签,页面会重新路由,这非常烦人。

因此,如果我在页面国家/地区并单击链接#developmenting,则页面将滚动到#developmenting,而无需重新路由,这是所期望的。如果我在“country/kh”页面上单击“#projects”,该页面将重新路由,然后滚动到“#projects”;我不希望发生重新路由。

该问题仅发生在 page1/parameter#anchor 性质的链接上,而不会发生在简单的 pageA#anchor 上。


如果没有任何代码示例或笨蛋,很难回答您的问题。我实现了一个 plunker 代码(http://plnkr.co/edit/oflB21?p=preview)尝试重现此问题,但如您所见,我无法重现此问题。即您可以轻松地在页面的两个不同部分之间来回导航,例如在 #/Country/Italy#Section-4 和 #/Country/Italy#Section-1 之间,无需任何页面加载或重新路由。请在下面的 plunker 中查看我的工作示例。这很可能是由于缺少哈希符号或正斜杠或类似的细节而发生在您身上。

主页的 HTML 片段:

<ul>
    <li><a href="#/Country">Go to /Country</a></li>
    <li><a href="#/Country/US">Go to /Country/US</a></li>
    <li><a href="#/Country/Italy#Section-4">Go to /Country/Italy#Section-4</a></li>
    <li><a href="#/Country/Canada#Section-8">Go to /Country/Canada#Section-8</a></li>
</ul>

国家/地区页面的 HTML 片段:

<div id="Section-1" class="section pink">
    Section 1
    <div ng-if="country">
        <a ng-href="#/Country/{{country}}#Section-8">Go to /Country/{{country}}#Section-8</a>
    </div>
    <div ng-if="!country">
        <a ng-href="#/Country#Section-8">Go to /Country#Section-8</a>
    </div>
</div>

所有 JavaScript 代码:

var app = angular.module("app", ["ngRoute"]);

app.config(["$routeProvider", "$locationProvider", 
    function ($routeProvider, $locationProvider) {
    $routeProvider
    .when("/", {
        templateUrl: "./home-page.html",
        caseInsensitiveMatch: true,
    })
    .when("/Home", {
        templateUrl: "./home-page.html",
        caseInsensitiveMatch: true,
    })
    .when("/Country", {
        templateUrl: "./country-page.html",
        caseInsensitiveMatch: true,
    })
    .when("/Country/:country", {
        templateUrl: "./country-page.html",
        caseInsensitiveMatch: true,
    })
}]);

countryController.$inject = ["$scope", "$routeParams", "$location", "$anchorScroll"];
function countryController($scope, $routeParams, $location, $anchorScroll) {

    $scope.country = $routeParams.country;

    if (!!$location.$$hash) {
        $location.hash($location.$$hash);
        $anchorScroll();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我的 url 包含路由参数,则哈希链接会以角度重新路由 的相关文章

随机推荐

  • OpenCV C++/Obj-C:正确的对象检测

    作为某种 假日项目 我正在玩 OpenCV 想要检测和测量东西 当前工作流程 早期 检测 转换为灰度 cv cvtColor 应用自适应阈值 cv adaptiveThreshold 应用 canny 边缘检测 cv Canny 查找轮廓
  • 我在 Windows 计算机上找不到 my.cnf [重复]

    这个问题在这里已经有答案了 我的电脑是Windows XP 我需要找到my cnf将所有权限恢复给 root 用户 我不小心删除了root用户的一些权限 我还留着密码 以root用户登录MySQL没有问题 但我无法更改表格 这是我的回答 W
  • Swift 中服务器的公钥字符串中的 Seckey

    我想使用 RSA 加密数据 我尝试在代码中生成密钥并且它正在工作 但我实际需要的是从服务器获取字符串形式的公钥 然后将其用作 Seckey 以便我可以使用它来加密使用 RSA 的数据 我尝试了这段代码 KeyString is the st
  • 获取主干应用程序中先前的路由器/url

    我有一个主干应用程序 我需要知道访问当前路由的路由器 是否可以 例如 I reach current from test1并且在另一个例子中 来自 test1 那么我可以通过某种方式知道检测之前的路由器命中吗 我用过 Backbone hi
  • Rails 中两个类之间的多个 own_to 关系

    我有一个事务类 该类的每个对象包括1个发出账户 1个发送账户和1个接收账户 其中每一个都是 Account 类的一个实例 在我的交易表中 我有 Issuer id sender id 和receiver id 我应该如何指定交易和帐户之间的
  • 如何判断所有Loading Data操作何时完成?

    我有一个 Sheets 电子表格 其中有许多单元格使用自定义函数 该函数调用 IMPORTHTML 并解析结果 工作表中的其他计算使用这些自定义公式单元格返回的值 正如预期的那样 当自定义公式单元格正在计算时 它们会显示 正在加载数据 错误
  • .NET 3.5 中 Enum.TryParse 的实现

    如何在 NET 3 5 中实现 NET 4 的 Enum TryParse 方法 public static bool TryParse
  • Spritekit 停止声音

    我目前正在使用 Apple 的 SpriteKit 库开发一款游戏 但在游戏开始播放后我无法停止声音 我尝试使用文档中列出的方法来阻止 Skaction 运行 但似乎没有什么可以阻止声音播放 这些都是我试图阻止声音的尝试 Playing s
  • 等待事件处理程序

    这是代表和事件 public delegate Task SomeEventHandler SomeEventArgs e public event SomeEventHandler OnSomething 订阅者 多个 some OnSo
  • 如何检测 pdf.js 是否是 Firefox 中的“默认”阅读器

    从 Firefox 19 开始 有一个内部默认的 PDF 阅读器 pdf js 如何检测这是否是默认阅读器 这可能就是您正在寻找的 http www pinlady net PluginDetect PDFjs
  • Ruby:自动将实例变量设置为方法参数?

    是否有计划实现类似于 CoffeeScript 功能 在方法参数列表中指定实例变量名称 的 ruby 行为 喜欢 class User def initialize name age name is set implicitly but a
  • 使用目录将 IPython 笔记本写入 HTML 或 PDF

    我正在尝试从我的 IPython 笔记本创建报告 我使用目录扩展为我的笔记本创建目录 我已经将笔记本转换为 html 但目录未显示 也未链接到文档的其余部分 有没有什么方法可以转换为指定的格式之一并仍然保留可链接 甚至不可链接 的目录 我使
  • 如何覆盖 Android 中虚拟键盘的 键行为

    I want to override the behaviour of the ENTER key of the virtual keyboard so that 当屏幕上有更多字段时 它会 跳到 下一个字段 当它是屏幕的最后一个字段时 执
  • 如何获取特定页面的所有 Facebook 签到?

    我有一个 Facebook 页面 它也是 FB 中的一个位置 因此用户可以签到该位置 例如使用 iPhone 现在我想从我的页面获取所有签入的用户 但即使有多个用户签入 我总是得到一个空数组 我使用 Graph API 中的以下 URI h
  • 确定 T-SQL 中的时区偏移

    我的数据库应用程序将部署在不同时区的多个站点 我需要一个 T SQL 函数来确定当年 1 月 1 日午夜的 UTC 时间戳 以进行 YTD 计算 所有数据都存储在 UTC 时间戳中 例如 芝加哥采用 UTC 6 夏令时 DST 如果该函数在
  • CURL 不编码 UTF-8

    我在用着Windows 10 and 卷曲7 52 1 当我尝试POST数据到 WEBSERVICE curl没有将字符编码为UTF 8 我需要显示pt BR字符 例如 etc 是的 我已经检查过this 没有成功 如果我将编码页面设置为c
  • Gradle 无法解析 Android Studio 中的库

    我想在 Android Studio 中包含一个库 但它显示如下错误 无法解析 com lemonlab expandable button menu 1 0 0 如何解决这个问题 apply plugin com android appl
  • 带有模板参数的 C++0x lambda? [复制]

    这个问题在这里已经有答案了 可能的重复 lambda 函数可以模板化吗 是否可以使用带有模板参数的 c 0x lambda 例如 template
  • 为 Linux 安装 Anaconda [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在尝试安装适用于 Linux 的 Anaconda Linux Mint 17 2 Rafaela 14 04 3 LTS Trusty Tahr 我看到一条警告 警告 机器似乎
  • 如果我的 url 包含路由参数,则哈希链接会以角度重新路由

    如果我有一个一级路由 那么哈希链接将按预期工作 无需重新路由 但是 我有一些国家 kh 的网址 如果我尝试使用诸如国家 kh projects 之类的哈希标签 页面会重新路由 这非常烦人 因此 如果我在页面国家 地区并单击链接 develo