在解决这个问题之前,一直处在很苦逼的状态,因为 现在绝大多数 前端模块都是 SPA 模式;所以由此而来出了许多的问题,当然我现在提的这个只是其中一个;
  说一下解决方案:
  1、技术栈
    angularjs1.4.9+ui-route+requireJS
  2、解决步骤如下
  

define([ 'app' ], function(app) {
app.config(["$stateProvider", "$urlRouterProvider",
"hammerDefaultOptsProvider", "$urlMatcherFactoryProvider",
"cfpLoadingBarProvider",
function($stateProvider, $urlRouterProvider, hammerDefaultOptsProvider,
$urlMatcherFactoryProvider, cfpLoadingBarProvider) {
/* 微商城——确认订单 */
.state('sureOrder', {
url: '/sureOrder',
params: {isSureOrder: null},
templateUrl : 'tpls/order/sureOrder.html',
controller:'sureOrderCtrl',
})
/* 微商城——确认支付订单 */
.state('sureOrderPay', {
url: '/sureOrderPay',
params: {isPay: null},
templateUrl : 'tpls/order/sureOrderPay.html',
controller:'sureOrderPayCtrl',
})
}]);
}); /**
* app.run模块,程序首先加载它
*/
define[('app', function(app){
app.run(['$rootScope''], function($rootScope){
$rootScope.$on('$satteChangeSuccess',
function(event, toState, toParams, fromState, fromParams){
// toState -> 当前路由信息{url:... , ...},toParams -> 路由参数
//思路 :判断当前路由是否为 需要操作的页面,然后通过为该路由传
//入的参数判断是否停留在当前页面,如上面路由所配置的,初始参数为null
//所以 当你在进入指定页面前 会给路由传一个参数;当你点击返回键时路由走
//默认值null, 所以这时,你就可以操作页面跳转到你指定要返回的页面了 if(toState.url === "/sureOrder"){
if(toParams.isSureOrder != "true"){
$state.go("order");
return;
}
}
if(toState.url === "/sureOrderPay"){
if(toParams.isPay != "true"){
$state.go("shop-index");
return;
}
}
})
})
}])
  
  以上方案,纯属个人思路,我相信大家会有更好的解决方案,欢迎互相讨教分享!
  很想得到大家的评论,指教! 共同进步!
  最后,感谢您的揽月;

巧-微信公众号-操作返回键问题-angularjs开发 SPA的更多相关文章

  1. 微信公众号API返回不可打印字符的处理。

    引言 在使用微信公众号的"批量获取用户基本信息"API时,发现在某些时候不能使用php的json_decode转为数组,打印出curl获取到的内容中,发现了几个不可打印字符.相信不 ...

  2. Java微信公众号开发

    微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个web平台.微信公众账号的种类可以分为3种,并且一旦选定不可更改.按照功能的限制从小到大依次为:订阅号.服务号.企业号.个人只能注册订阅号 ...

  3. Ionic+AngularJS 开发的页面在微信公众号下显示不出来原因查究

    ionic 页面 微信浏览器遇到的坑 公司的微信公众号一部分页面是用AngularJS+Ioinc开发,发现在本地浏览器测试的时候都没问题,传到服务器在微信公众号下跑就出问题来,经查是: index- ...

  4. requests利用selenium,代理Ip,云打码,验证码抠图操作 爬取搜狗微信公众号内容

    爬取思路,爬取搜狗微信公众号内容,爬取第一层url时请求太快出现验证码,我这里用的蘑菇云代理,并在程序中我判断什么情况下是否+代理,做到合理运用代理ip.爬取第二层url时验证码出现次数更严重(和第一 ...

  5. 线程安全使用(四) [.NET] 简单接入微信公众号开发:实现自动回复 [C#]C#中字符串的操作 自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化 自已动手做高性能消息队列 自行实现高性能MVC WebAPI 面试题随笔 字符串反转

    线程安全使用(四)   这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationT ...

  6. 微信公众号使用LocalStorage解决返回缓存问题

    在开发微信公众号上应用程序时,遇到了一个普遍的问题,从A页跳转到B页后,再由B页跳转回A页,A要要保持跟跳转前一致,通过LocalStorage可以解决. LocalStorage,很好的解决了返回的 ...

  7. appium操作微信公众号H5 web页面

    安卓微信公众号的H5页面是webview,一般操作需要切换context. 在执行如下步骤,就能直接像识别native样识别webview 1.代码追加: ChromeOptions options ...

  8. 后台微信开发入口+关键字 回复等 关注公众号回复 注意获取随机Token 微信的对接校验Token保存到数据库的只是做第一次的校验 其他对微信公众号的操作是去缓存中获取7200S的随机Token

    package com.epalmpay.controller.apiweixin; import com.epalmpay.commom.BaseController;import com.epal ...

  9. appium+python自动化-微信公众号webview操作

    前言 上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困扰了一整天,还好最后找到了原因, ...

随机推荐

  1. setjmp和longjmp用法

    本文转自:http://blog.csdn.net/wuhong40/article/details/6155838,感谢原文作者. 前不久在阅读Quake3源代码的时候,看到一个陌生的函数:setj ...

  2. Fastify 系列教程二 (中间件、钩子函数和装饰器)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) 中间件 Fastify 提供了与 Express 和 Restify ...

  3. maven 集成tomcat6,tomcat7

    1. maven 集成 tomcat6的配置 maven自带的是tomcat6插件,所以不配置的话也可以,默认tomcat6,8080端口,需要更改端口或者编码方式等,也可以自己再配置一次: < ...

  4. js实现一个简单钟表动画(javascript+html5 canvas)

    第一次在博客园注册发博.有一次去人家单位开标,看到开标网站上有个钟表动画,一时兴起,就写了个简单的钟表动画. 用js和html5 canvas对象实现一个简单钟表程序 主要用到的就是h5的canvas ...

  5. .2-Vue源码起步(2)

    接着第一节开始继续吧(GoGoGo) 上一节把mergeOptions函数弄完了,最后返回一个options赋给了vm.$options. 这一节继续跑代码: function initMixin(V ...

  6. js让input失去焦点

    要求:当我点击页面非文本框的地方,令文本框失去焦点 问题:一开始我的做法是让点击的地方得到焦点,实际上是无效的 $(this).focus(); 当时我也不知道为什么focus会失效,   问题在于f ...

  7. Muduo阅读笔记---入门(一)

    第一步:下载源码和文档 下载muduo项目的源码.<muduo-manual.pdf>文档,以及<Linux多线程服务端编程:使用muduo C++网络库.pdf>,这些是前期 ...

  8. linux中的权限

    第1章 显示或设置网络相关信息 1.1 ip address 与ifconfig 类似 [root@znix ~]# ip address 1: lo: <LOOPBACK,UP,LOWER_U ...

  9. python3 字符串操作相关函数

    整理自python基础|菜鸟教程 感谢菜鸟教程提供的优质资源! 1.capitalize() 将字符串的第一个字符转换为大写 实例 以下实例展示了capitalize()方法的实例: #!/usr/b ...

  10. defaultView and parentWindow

    defaultView     只读的 which is used to represent the currently rendered view of the document 返回的值通常是包含 ...