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 相关文章推荐
微博@符号的用户名提示效果。(想@到谁?)
Nov 05 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
Nov 30 Javascript
javascript 文件的同步加载与异步加载实现原理
Dec 13 Javascript
Javascript中对象继承的实现小例
May 12 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
javascript中的遍历for in 以及with的用法
Dec 22 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
Javascript必知必会(四)js类型转换
Jun 08 Javascript
JS实现HTML表格排序功能
Aug 05 Javascript
浅谈javascript中遇到的字符串对象处理
Nov 18 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
微信小程序左滑删除功能开发案例详解
Nov 12 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
用Flash图形化数据(一)
2006/10/09 PHP
php 验证码实例代码
2010/06/01 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
vant实现购物车功能
2020/06/29 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python常用特殊方法实例总结
2019/03/22 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
用python对oracle进行简单性能测试
2020/12/05 Python
中专生自荐信
2013/10/12 职场文书
一年级班主任寄语
2014/01/19 职场文书
《假如》教学反思
2014/04/17 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
离婚协议书范本2014
2014/10/27 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
2015年行政部工作总结
2015/04/28 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL