我正在使用Ionic Framework为移动设备制作单页应用。我有一个基于标签的结构页面。在“主页”视图中,我有一个链接“编辑配置文件”,一旦点击它应该通过ProfileManagementController.js导航到editprofile.html。当我点击它时,没有任何反应,控制台也没有显示错误。只有地址栏中的网址会更新。
以下是app.js中的路线代码:
.state('editProfile', {
url: '/editProfile',
views: {
'tab-editprofile': {
templateUrl: 'templates/profile/editprofile.html',
controller: 'ProfileManagementController'
}
}
})
这里是与此功能相关的ProfileManagementController.js片段:
$scope.goToEditProfile = function(path)
{
$state.go(path);
}
这是主页选项卡视图(tab-home.html)的HTMl表单,其中存在用于导航以编辑配置文件的按钮:
<div>
Name: {{tempUserObject.name}} <br/>
Friends: {{tempUserObject.totalFriends}}<br/>
Mobile: {{tempUserObject.mobile}}<br/>
Username: {{tempUserObject.username}} <br/>
<br/>
<button ng-click="goToEditProfile('editProfile')" class="button">Edit Profile</button>
</div>
这是我第一次登陆tab-home.html并点击无法使用的按钮后的网址:
之前:http://127.0.0.1:49259/index.html#/tab/home 之后:http://127.0.0.1:49259/index.html#/editProfile
请帮助指导我找出此链接出现的问题。我之前在其他地方使用过$ state.go,效果很好。
更新:editprofile.html已添加。
<ion-view hide-nav-bar="false" title="Edit Profile">
<ion-content padding="'true'" class="has-header">
<div class="spacer" style="width: 300px; height: 87px;"></div>
<div class="button-bar"></div>
<h2>Edit Profile</h2>
</ion-content>
</ion-view>
答案 0 :(得分:1)
使用此而不是状态更改。
$location.path('/editProfile');
别忘了在你的控制器功能中注入$ location。
答案 1 :(得分:0)
你的app.js中是否有一个名为'path'的州? 如果没有像'editprofile'状态那样用模板和控制器创建一个名为'path'的状态
答案 2 :(得分:0)
所以我修改了上面的问题,将app.js中的路由修改为以下内容:
.state('editprofile', {
url: '/editprofile',
templateUrl: 'templates/profile/editprofile.html',
controller: 'ProfileManagementController'
})