相关疑难解决方法(0)

angularjs - 点击与实际网址的链接时刷新

我使用routeProvider为我的网址定义控制器和模板.

当我点击与实际位置具有相同网址的链接时,没有任何反应.reload()如果用户点击这样的链接,即使位置没有改变,我也希望调用该方法.换句话说,如果我将位置设置为相同的值,我希望它的行为与我将其设置为不同的值相同.

有没有办法配置routeProvider或locationProvider自动执行?或者这样做的正确方法是什么?这是往返应用程序中的标准行为,但如何在angularjs中执行此操作?

我也在谷歌小组上问过它.

更新:

这个问题得到了很多观点,所以我将尝试解释我是如何解决我的问题的.

我在评论中建议Renan Tomal Fernandes建议我在我的应用程序中链接的自定义指令.

angular.module('core.directives').directive('diHref', ['$location', '$route',
        function($location, $route) {
    return function(scope, element, attrs) {
        scope.$watch('diHref', function() {
            if(attrs.diHref) {
                element.attr('href', attrs.diHref);
                element.bind('click', function(event) {
                    scope.$apply(function(){
                        if($location.path() == attrs.diHref) $route.reload();
                    });
                });
            }
        });
    }
}]);
Run Code Online (Sandbox Code Playgroud)

然后该指令用于我想要具有此功能的应用程序中的所有链接.

<a di-href="/home/">Home</a>
Run Code Online (Sandbox Code Playgroud)

该指令的作用是它根据href属性为您设置属性,di-href因此angular可以像往常一样处理它,当您将鼠标悬停在链接上时可以看到该URL.此外,当用户点击它并且链接的路径与当前路径相同时,它会重新加载路径.

javascript angularjs

48
推荐指数
5
解决办法
8万
查看次数

标签 统计

angularjs ×1

javascript ×1