重定向至JS函数(Ionic,AngularJS)之后的另一个html页面-Cordova
Redirect to another html page after JS function (Ionic, AngularJS) - Cordova
我正在使用Ionic和AngularJS为visual studio使用cordova工具构建一个android应用程序。
我想在我的函数执行完毕后重定向到另一个html页面,但我似乎无法让它工作。
的功能如下
if (id == null || id == undefined) {
contact.save(saveSuccess, saveError);
}
else {
contact.save(upSuccess, upError);
}
function saveSuccess(newContact) {
id = newContact.id;
table.insert({ contactid: id, firstname: name.givenName, lastname: name.familyName, homephone: phoneNumbers[0].value, mobilephone: phoneNumbers[1].value, email: emails[0].value });
alert("Contact Saved.");
window.location("#/managermenu");
}
这是我的$routProvider代码。
droidSync.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'app/pages/main.html',
controller: 'mainController'
})
.when('/addcontact', {
templateUrl: 'app/pages/addcontact.html',
controller: 'managerController'
})
.when('/editcontact', {
templateUrl: 'app/pages/editcontact.html',
controller: 'managerController'
})
.when('/deletecontact', {
templateUrl: 'app/pages/deletecontact.html',
controller: 'managerController'
})
.when('/managermenu', {
templateUrl: 'app/pages/managermenu.html',
controller: 'managermenuController'
})
.when('/settings', {
templateUrl: 'app/pages/settings.html',
controller: 'settingsController'
});
});
我对angular和JS都很陌生,所以我不知道我在这里缺少了什么。。。
尝试$state。这行得通吗?
function saveSuccess(newContact, $state) {
id = newContact.id;
table.insert({ contactid: id, firstname: name.givenName, lastname: name.familyName, homephone: phoneNumbers[0].value, mobilephone: phoneNumbers[1].value, email: emails[0].value });
alert("Contact Saved.");
$state.go('/managermenu');
}
也需要一个状态提供者
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('managermenu', {
url: '/managermenu',
views: {
'managermenu': {
templateUrl: 'templates/managermenu.html',
controller: 'ManagerMenuCtrl'
}
}
});
});
使用$location而不是$state。
function saveSuccess(newContact, $state) {
id = newContact.id;
table.insert({ contactid: id, firstname: name.givenName, lastname: name.familyName, homephone: phoneNumbers[0].value, mobilephone: phoneNumbers[1].value, email: emails[0].value });
alert("Contact Saved.");
$location.path('/managermenu');
}
路线提供商:
.config(function ($routeProvider) {
$routeProvider
.when('/managermenu', {
templateUrl: 'app/pages/managermenu.html',
controller: 'managermenuController'
});
});
您也可以使用$location.path("/managermenu")来代替$state;用于重定向到另一个状态。
相关文章:
- Wicket在另一个请求之后触发请求
- 从一个函数传递到另一个函数的变量在使用jQuery的.post之后变得未定义
- angular 2中另一个元素的“blur”之后不能“focus”
- 将twitter引导程序popover设置为在某个事件之后隐藏,然后在另一个事件之后显示
- 有人能为我指明正确的方向,让一个javascript文件在另一个单独的javascript文件之后运行吗
- Ajax - 在“成功”之后转到另一个页面,从那里的URL中检索用户ID
- 在另一个 AngularJS 之后执行函数
- jQuery .fadeIn() 覆盖(在另一个浏览器选项卡查看之后)
- 一个元素在淡出另一个元素之后的fadeIn是'真的不管用
- 如何确保一个函数在另一个函数之后获得触发器
- 确保一个事件在另一个事件的操作之后执行
- 如何在特定元素之后但在另一个元素之前插入
- 正则表达式,用于查找一个术语之后和另一个术语之前的单词
- 是DOM中另一个元素之前或之后的元素
- 在另一个变量的字符串值之后命名一个变量
- 使用循环在另一个函数之后运行一个函数&jQuery/JavaScript中的promise
- 在没有容器的情况下将元素附加到另一个元素之后
- 如何确保一个javascript函数在另一个函数之后被调用
- 在调用另一个方法之前或之后调用Javascript fire方法
- 如何在另一个已加载的iframe之后加载一个iframe