Javascript 角度:使用$location.path()而不是href

Javascript 角度:使用$location.path()而不是href,javascript,html,angularjs,ionic-framework,Javascript,Html,Angularjs,Ionic Framework,我最近开始在ng click函数中使用$location.path()。 我这样做的理由: 首选将所有逻辑(包括导航到的路径)移出我的视图(这可能有点极端) 对于多个html模板引用同一控制器的罕见情况,我可以更改一次$location.path(),而不必记住在每个模板中更新相应的href 因此,不是: <a class="button button-balanced" href="/signup">Sign up</a> 我的问题是,这样设置我的Angular应

我最近开始在
ng click
函数中使用
$location.path()。
我这样做的理由:

  • 首选将所有逻辑(包括导航到的路径)移出我的视图(这可能有点极端)
  • 对于多个html模板引用同一控制器的罕见情况,我可以更改一次
    $location.path()
    ,而不必记住在每个模板中更新相应的href
因此,不是:

<a class="button button-balanced" href="/signup">Sign up</a>
我的问题是,这样设置我的Angular应用程序有缺点吗?(注:我主要是在构建离子混合移动应用程序)

  • 首选将所有逻辑(包括导航到的路径)移出我的视图(这可能有点极端)
您可以使用相同的链接按钮导航所有逻辑和路径

<a href="/signup" class="button button-balanced" ng-click="SignUpFunc()>Sign Up</a>

标记是首先执行click函数,然后执行href调用。所以你可以通过链接按钮来完成

  • 对于多个html模板引用同一控制器的罕见情况,我可以更改一次
    $location.path()
    ,而不必记住在每个模板中更新相应的href
如果使用菜单选项,则可以使用链接按钮 但是,如果将一个控制器导航到另一个控制器,则应使用
$location.path('/signup')

我在我的项目中也使用了类似的逻辑。它对我来说很好

<button class="button" ng-click="go('view')">Next Page</button>

    $scope.go = function ( path ) {
        $location.path( path );
    };
下一页
$scope.go=函数(路径){
$location.path(路径);
};

将按钮包装在链接中有点不好,如果你想让它像链接一样工作,那么就把链接设计成按钮的样子。我想,与使用链接相比,脚本重定向对seo和可用性都不好。谢谢,我编辑了我的问题,注意到一个
标记样式为按钮。SEO不是一个问题,因为这些应用程序最终将成为iOS和Android原生应用程序。
<a href="/signup" class="button button-balanced" ng-click="SignUpFunc()>Sign Up</a>
<button class="button" ng-click="go('view')">Next Page</button>

    $scope.go = function ( path ) {
        $location.path( path );
    };