AngulaJS路由 ui-router 传参实例


Posted in Javascript onApril 28, 2017

在这里分享我做的一个使用ui-router 传参的小demo

1.首先第一步设置入口文件index.html,注意加载的顺序,先加载包,再加载自己写的控制器。

<!doctype html>
<html lang="en" ng-app="routerApp">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
  <title>测试</title>
  <!--lib是angular包的文件夹-->
  <script src="lib/jquery/jquery-1.11.3.min.js"></script>
  <script src="lib/angular/angular.js"></script>
  <script src="lib/angular-ui/angular-ui-router.js"></script>
  <!--js控制器的文件夹-->
  <script src="js/app.js"></script>
  <script src="js/indexCtrl.js"></script>
  <script src="js/resultCtrl.js"></script>
</head>

<body>

<div ui-view>

</div>

</body>

</html>

2.app.js文件,依赖注入,设置路由,此处的路由是使用ui-router路由,这里简单的演示了两个模板之间的传参,传递参数的模板test.html和接收参数的模板result.html

var routerApp = angular.module('routerApp', ['ui.router']);

routerApp.run(function($rootScope, $state, $stateParams) {
  $rootScope.$state = $state;
  $rootScope.$stateParams = $stateParams;
});

routerApp.config(function($stateProvider, $urlRouterProvider) {
  $urlRouterProvider.otherwise('/index');
  $stateProvider
    .state('index', {//模板的参数
      url: '/index',//url的参数
      templateUrl: 'templates/test.html',//模板的位置
      controller: 'MyController'
    })
    .state('result', {
      url: '/result/:id/:number',//需要传的参数的键名
      templateUrl: 'templates/result.html',
      controller: 'resultCtrl'
    });
});

3.第一个主页面的模板test.html,并且设置点击事件toResult()

<meta charset="UTF-8">
<div>hello world</div>
<input type="button" ng-click="toResult()" value="toResult">

 4.test.html的控制器indexCtrl.js,设置需要传递的参数$scope.abc和$scope.toResult,点击事件toResult()里面其实就是一个$state.go('模板的参数',{app.js里面需要传的参数的键名:需要传的参数值})的方法

routerApp.controller('MyController', function($scope, $state) {
  $scope.abc = "nice";//需要传的参数值
  $scope.def = 10;//需要传的参数值
  $scope.toResult = function(){
    $state.go('result',{id: $scope.abc,number: $scope.def});
  }
});

5.接收参数的模板result.html

<meta charset="UTF-8">
<div>hello world2</div>

6.result.html的控制器resultCtrl.js,这里使用$stateParams的方法去接收上一个页面传递过来的参数

routerApp.controller('resultCtrl', function($scope, $state, $stateParams) {
  var id = $stateParams.id;
  var number = $stateParams.number;
  console.log(id);
  console.log(number);
});

项目目录

js\app.js、indexCtrl.js、resultCtrl.js

lib\
jquery\jquery-1.11.3.min.js
angular\angular.js
angular-ui\angular-ui-router.js

templates\test.html、result.html

index.html

其实整个过程并不难,只是穿插在模板和控制器之间,容易让人摸不着头脑,只要分清楚具体的参数是对应哪一个,很容易理解。

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

Javascript 相关文章推荐
JS日历 推荐
Dec 03 Javascript
javascript web对话框与弹出窗口
Feb 22 Javascript
了不起的node.js读书笔记之例程分析
Dec 22 Javascript
纯JS实现旋转图片3D展示效果
Apr 12 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
Nov 14 Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 Javascript
小程序关于请求同步的总结
May 05 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
Sep 18 Javascript
使用Vant完成Dialog弹框案例
Nov 11 Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 #Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 #Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 #Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
Apr 27 #jQuery
Three.js的使用及绘制基础3D图形详解
Apr 27 #Javascript
jquery ui sortable拖拽后保存位置
Apr 27 #jQuery
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 #Javascript
You might like
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
php删除数组元素示例分享
2014/02/17 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
dojo 之基础篇
2007/03/24 Javascript
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
python 切片和range()用法说明
2013/03/24 Python
python使用fork实现守护进程的方法
2017/11/16 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
《争吵》教学反思
2014/02/15 职场文书
小学生家长寄语
2014/04/02 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
研究生导师推荐信
2015/03/25 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS