在解决这个问题之前,一直处在很苦逼的状态,因为 现在绝大多数 前端模块都是 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. tar split cat 创建、合并分卷压缩包

    最近用微盘传文件遇到的问题,超过100M不能一次传啊,想想win下有rar和zip创建分卷压缩包很简单,就像linux的tar打包器应该也可以吧,搜了下,要和split配合完成 具体命令如下:对文件: ...

  2. JAVA NIO 主要概念

    NIO有三个主要概念: buffer channel selector channel间通过buffer通信,channel在selector注册后,可以由selector管理,实现非阻塞编程 buf ...

  3. 【ASP.NET MVC 学习笔记】- 01 理解MVC模式

    本文参考:http://www.cnblogs.com/willick/p/3195560.html 1.MVC模式是软件系统的一种架构模式,它将软件分为三大模块: 模型(Model):封装业务逻辑以 ...

  4. 【框架学习与探究之定时器--Hangfire】

    声明 本文欢迎转载,请注明文章原始出处:http://www.cnblogs.com/DjlNet/p/7603632.html 前言 在上篇文章当中我们知道关于Quartz.NET的一些情况,其实博 ...

  5. require.js实现js模块化编程(一)

    1.认识require.js: 官方文档:http://requirejs.org/RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一.最新版本的Requ ...

  6. 版本控制之五:SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤(转)

    使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时 ...

  7. Leetcode题解(32)

    107. Binary Tree Level Order Traversal II 题目 直接代码: /** * Definition for a binary tree node. * struct ...

  8. Python_Python遍历列表的四种方法

    方式一: app_list = [1234, 5677, 8899] <!-- lang: python --> for app_id in app_list: <!-- lang: ...

  9. git使用教程之git分支

    1 分支简介 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流. 你将经历如下步骤: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 正在此 ...

  10. JAVA中文乱码之解决方案

    1.解决HTML页面的中文问题:为了使HTML页面很好的支持中文,在每个HTML页面的<head>标签内部增加(创建HTML页面自带) <head> <meta char ...