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 );
};