详解AngularJS跨页面传值(ui-router)


Posted in Javascript onAugust 23, 2017

博主用的ionic 这里使用ui-router传值,用来在跳转页面的同时带着你想带走的东西一起跳走

(PS:博主半路出家,尚是菜鸟,写的东西自己跑起来并没有什么问题但不敢保证写的一定对,语言也很随意,仅供参考。另,期待各位前辈的指教)

博主用的ionic

这里使用ui-router传值,用来在跳转页面的同时带着你想带走的东西一起跳走

需求是这样的,我有一个商品单子(概览页),点一个商品就可以去看它的详情(详情页)
要解决的问题就是把概览页被点击的商品的id传给详情页,详情页拿着这个id给后台,后台返回对应的需要的json

下面开始实现

.controller('CafeCtrl', function($scope, cafeData, $state) { //往外传值的controller里加一个$state
 $scope.cafeList = cafeData.All();
 $scope.goDetail = function(id) {
  $state.go('itemDetail',{sort : "cafe", id : id}); //就拿它传
 };
})

在传值的一行:

$state.go('itemDetail',{sort : "cafe", id : id});
//前面的是变量名,后边的是值

我的理解是:塞了两个变量到一个中转的名叫$stateParams的什么东西里面,controller里面写法就是这样子的,页面上ng-click="goDetail(item.id)"调用它就可以了

app.js里,接收值的页面(详情页).state这么写,留两个位置给刚才传出来的东西

.state('itemDetail', {
 url: '/itemDetail/:sort/:id/', //这里就是那两个要传的东西,名字要对应相同
 templateUrl: 'templates/itemDetail.html',
 controller: 'ItemDetailCtrl'
})

然后再去接收值的页面(详情页)接收这俩值存俩对象里面(接受并存下了传来的两个值)

.controller('ItemDetailCtrl', function($scope, $stateParams, $state) { //加个$stateParams
 $scope.sort = $stateParams.sort;
 $scope.itemId = $stateParams.id;
})

在上面加个$stateParams,然后下面scope一个对象,把你要的值从$stateParams里面拿点儿出来赋值给它就ok了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于javascript document.createDocumentFragment()
Apr 04 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 Javascript
Javascript 垃圾收集机制介绍理解
May 14 Javascript
javascript中文本框中输入法切换的问题
Dec 10 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
Feb 13 Javascript
ES6新特性三: Generator(生成器)函数详解
Apr 21 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
Dec 28 Javascript
Angular 数据请求的实现方法
May 07 Javascript
JS开发常用工具函数(小结)
Jul 04 Javascript
PHP 502bad gateway原因及解决方案
Nov 13 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 #Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 #jQuery
Angular2+国际化方案(ngx-translate)的示例代码
Aug 23 #Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
Jun 17 #Javascript
简单实现jQuery上传图片显示预览功能
Jun 29 #jQuery
浅谈vue-lazyload实现的详细过程
Aug 22 #Javascript
关于定制FileField中的上传文件名称问题
Aug 22 #Javascript
You might like
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
PHP中的替代语法介绍
2015/01/09 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
简单的php购物车代码
2020/06/05 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
详解Django通用视图中的函数包装
2015/07/21 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
python关于倒排列的知识点总结
2020/10/13 Python
耐克美国官网:Nike.com
2016/08/01 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
后勤工作职责
2013/12/22 职场文书
秋季红领巾广播稿
2014/01/27 职场文书
《都江堰》教学反思
2014/02/07 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
JavaScript 数组去重详解
2021/09/15 Javascript
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android