单击链接时运行代码,即使我保持在同一页面上也是如此

时间:2015-12-11 12:49:55

标签: angularjs

我有可折叠的侧边栏导航,每当用户点击其上的链接时,我都会自动隐藏侧边栏。我通过使用以下代码在run方法中实现了这一点:

app.run(function($rootScope) {
    $rootScope.$on('$routeChangeSuccess', function () {
        $rootScope.closeNavigation();
    })
});

app是我的Angularjs模块。

问题在于,当您单击导航中用于已经打开的页面的链接时,使用它会有点不直观,然后没有任何反应。我想要的是让侧边栏关闭,以便用户仍然可以专注于内容,即使它是相同的内容。

但是如果没有发生路由更改,Angularjs不会执行$routeChangeSucess事件。那么我可以使用什么呢?

1 个答案:

答案 0 :(得分:0)

您只需在html sidepanel标记上使用selling_priceng-show = isPanelVisible(例如ng-click = closePanel())。

然后,在与实际视图关联的控制器中定义<div>。例如

$scope.closePanel()

查看示例here。代码是here。请注意,它不使用 $scope.closePanel = function() { $scope.isPanelVisible = false; } ,但行为是相同的。