【问题标题】:Adding anchor to AngularJS State将锚点添加到 AngularJS 状态
【发布时间】:2023-04-10 00:29:01
【问题描述】:

我有一个名为 state.home() 的状态,用于将用户重定向到主页,这是我的状态:

$stateProvider
    .state('state.home', {
        url: '/home',
        templateUrl: modulePath + '/views/home/home.html',
        controller: 'state:HomeController',
        controllerAs: 'homeCtr'
    })

在完成一些工作后的另一个页面中,在我的控制器中,我需要将用户重定向到主页中的特定 Div,所以在我的控制器中,我添加了这一行进行重定向,但它似乎不正确方式:

$state.go('state.home',{'#': 'anchor'});

我想知道它是否可以在相同的状态下工作,或者我必须创建一个新的状态。

【问题讨论】:

    标签: javascript angularjs routing anchor anchor-scroll


    【解决方案1】:

    给 div 一个 id,例如 <div id="anchor"></div>

    在控制器中,导航到预期状态并使用锚滚动到 div。别忘了注入$anchorScroll

    $state.go('state.home').then(function() {$anchorScroll('anchor');})

    【讨论】:

    • 您好,谢谢您的帮助,但它对我来说效果不佳。最后我找到了解决问题的方法:$state.go('state.home') .then(function () { $location.hash('anchor'); $anchorScroll(); });
    • 您不需要使用$location.hash(hash)。 $anchorScroll(hash) 应该这样做
    猜你喜欢
    • 1970-01-01
    • 2010-10-19
    • 2012-11-27
    • 2021-11-18
    • 2019-05-03
    • 1970-01-01
    • 2023-03-17
    • 2021-04-24
    • 1970-01-01
    相关资源
    最近更新 更多