我有以下定义的状态 -
.state('HomePage', {
url: '/HomePage',
templateUrl: 'home.html',
controller: 'HomeCtrl'
})
.state('RegistrationHome', {
url: '/RegisterHome',
templateUrl: 'RegistrationHome.html',
controller: 'RegistrationHomeCtrl'
})
.state('RegisterAdditionalInfo', {
url: '/RegisterAdditional',
templateUrl: 'RegistrationAdditional.html',
controller: 'RegistrationAddCtrl'
})
从主页点击注册按钮,我将使用$location.path('/RegisterHome');
现在在注册主页上,我提供了我的电子邮件ID和用户名,然后单击继续按钮。单击“继续”按钮后,它将提供要在同一页面上填充的其他字段(“年龄”和“性别”)。点击“继续$location.path('/RegisterHome/RegisterAdditionalInfo')
”即可加载RegistrationAdditional.html。年龄和性别存在于RegistrationAdditional.html中。
现在有一个'取消'按钮。如果我点击“取消”'按钮我想去HomePage。点击取消我在控制器中调用一个函数,在这个函数中我正在写
$location.path('/HomePage');
用于导航。但它没有导航到HomePage。点击取消后,它就会导航到“注册家庭”'。
在网址功能($location.url()
)中,我尝试打印网址。点击'取消' ,网址是'主页'但是url函数再次被自动调用,并且url值被更改为' RegistrationHome'。我尝试了所有可能的方法,例如在$scope.$apply()
之后编写$location.path('/HomePage')
,使用$state.go('HomePage')
代替$location.path('/HomePage');
,但没有任何效果。有人可以帮我解决这个问题。