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 相关文章推荐
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
JQuery 弹出框定位实现方法
Dec 02 Javascript
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
Mar 10 Javascript
jquery利用ajax调用后台方法实例
Aug 23 Javascript
js获取系统的根路径实现介绍
Sep 08 Javascript
jquery操作select详解(取值,设置选中)
Feb 07 Javascript
JavaScript模块规范之AMD规范和CMD规范
Oct 27 Javascript
解决vue项目报错webpackJsonp is not defined问题
Mar 14 Javascript
js取小数点后两位四种方法
Jan 18 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
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
基于MySQL分区性能的详细介绍
2013/05/02 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
javascript下使用Promise封装FileReader
2016/02/19 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
python的socket编程入门
2018/01/29 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
Python实现简单的2048小游戏
2021/03/01 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
遗嘱继承公证书
2014/04/09 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
2015年商场工作总结
2015/04/27 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript