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 相关文章推荐
img的onload的另类用法
Jan 10 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
Oct 26 Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
动态添加option及createElement使用示例
Jan 26 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
基于jquery实现的仿优酷图片轮播特效代码
Jan 13 Javascript
jQuery获取cookie值及删除cookie用法实例
Apr 15 Javascript
AngularJS之依赖注入模拟实现
Aug 19 Javascript
微信小程序 location API实例详解
Oct 02 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
Aug 27 Javascript
js前端设计模式优化50%表单校验代码示例
Jun 21 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 spl_autoload_register实现自动加载研究
2011/12/06 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
php查询操作实现投票功能
2016/05/09 PHP
详解PHP归并排序的实现
2016/10/18 PHP
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
vue生命周期的探索
2019/04/03 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
详细分析vue响应式原理
2020/06/22 Javascript
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
python八皇后问题的解决方法
2018/09/27 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
综合办公室个人的自我评价
2013/12/22 职场文书
运动会入场解说词
2014/02/07 职场文书
小学毕业感言50字
2014/02/16 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
外出培训学习心得体会
2016/01/18 职场文书
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python