$state.go这个是ng的路由跳转以下以例子来说明以下:
路由配置
.state('docImg',{
url:'/doc-img',
templateUrl:'templates/doc-img.html',
controller:'docImgCtrl'
})
//
.state('egImg',{
url:'/eg-img/:flag',
templateUrl:'templates/eg-img.html',
controller:'egImgCtrl'
})
controller
.controller('docImgCtrl',function($scope,$state){
$scope.goEgImg = function(){ //这个是传参数的
$state.go("egImg",{flag:2});
// window.location.href = "#/eg-img/2";
}
$scope.goEgImg2 = function(){ //这个是不传参数的
$state.go("docImg");
// window.location.href = "#/doc-img";
}
})
$state.go()函数和window.location.href在使用上还有一点区别的,$state.go()函数里面调用的是路由配置里面的state名称,而window.location.href用的直接是路由url地址,搞清楚这两点使用起来应该就没什么问题了。当然传参的方式也不一样,$state.go()传参是用json的形式传参的,window.location.href的传参是直接拼在地址url后面的