angularJs 跨控制器与跨页面传值

虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种

首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类

1、跨控制器传值—— $rootScope

原理:所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。

$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用

应用:所以在跨控制器传值时候就可以用$rootScope

案例:比如我要把控制器ControllerA中的对象,点击事件ToB()要转入ControllerB中调用

注:要注入$rootScope

1 app.controller(‘ControllerA‘, function ($scope, $rootScope) {
2     $scope.ToB=function(){
3        $rootScope.Model=$scope.Model;
4    }
5 });

1 app.controller(‘ControllerB‘, function ($scope, $rootScope) { 2 $scope.ModelB=$rootScope.Model; 3 });

缺点:只要刷新页面$rootScope的值就不存在了

2、用地址Url传值——用$location获得地址栏里的参数

注:要注入$location

案例:在页面A的Controller中

1 $scope.goLog = function (orderServiceId) { 2 window.location.href = "#/serviceLogs?orderServiceId=" + orderServiceId; 3 }

在页面B中

1 var orderServiceId = parseInt($location.search().orderServiceId);

注:仅个人理解及笔记,有错误的地方请各位指正!

时间: 2024-12-08 10:15:51

angularJs 跨控制器与跨页面传值的相关文章

跨控制器调用

跨控制器调用就是在本控制器里调用其他控制器里的方法或属性. $u = A("User");//在该控制器里实例化其他控制器User对象,A快捷函数的用法:A([模块/]控制器标志 $u->member(); 也可以简写成:R("User/member");R函数是对A函数的一个封装. A和R函数不仅可以跨控制器,跨模块,还可以跨项目调用,A([项目名://][模块/]控制器标志),R([项目名://][模块/]控制器标志/方法名).

webform(六)内置对象 跨页面传值

内置对象跨页面传值有六种:Request,Response,Session,Cookie,Application,VIewState. 一.Request和ResponseRequest request请求对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息.客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据.request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项.response 响应对象在

前端跨页面传值

在很多时候需要用到跨页面传值,但是通过后台取值,这些值又不用放到后台去,所以没这必要而且增加http请求,这种情况下用前端跨页面传值就非常方便了 1.通过路径传值 用URL记录传值  <a href='Specific.aspx?idStr=val1&name=name1&sex=sex1</a> 在跳转页面后 通过下面方式取到路径,再把值分离出来var url = window.location.href; alert(url);因为url后面的?不会影响连接指向,所以

跨页面传值常用方法

1.QueryString request.QueryString["ParaName"] //传递的“ParaName”值 2.Form-Post控件传值 3.Cookies传递 实现单值Cookie的设置 1).httpCookie ck_animal=new HttpCookie("animal"); 2).ck_animal.Value="猫"; 3).ck_animal.Expires=DateTime.Now.AddDay(1); 4

ASP.NET跨页面传值——Application

ASP.NET跨页面传值 Application对象的作用范围是整个全局,也就是说对所有用户都有效.它在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取.它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量. 可能有人会问,既然所有用户都可以使用application变量,那他可以用在什么场合呢?这里举个例子:网站访问数.多个请求访问时都可以对它进行操作. 优点: 1.使用简单,消耗较少的服务器资源. 2.不仅能

ASP.NET跨页面传值——Cookie

ASP.NET跨页面传值 Cookie,这个也是大家常使用的方法,Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等,用户下次访问就可以通过检索获得以前的信息.所以Cookie也可以在页面间传递值.Cookie通过HTTP头在浏览器和服务器之间来回传递的.Cookie只能包含字符串的值,如果想在Cookie存储整数值,那么需要先转换为字符串的形式. 注意: Cookie与Session一样,都是什对每一个用户而言的,但是有个本质的区别,

ASP.NET跨页面传值——Server.Transfer

ASP.NET跨页面传值 这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效. Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通过Context.Handler来获得前一个页面传递的各种数据类型的值.表单数据.QueryString.由于重定向完全在服务器端完成,所以客户 端浏览器中的URL地址是不会

WebForm 【复合控件】【跳转页面,跨页面传值】

按钮类button - 无submit - Buttonreset - 无image - ImageButton 选择类radioRadioButtonList - 布局里三个ListItem Enable selected Text Value checkboxCheckBoxList - 布局里三个ListItem Enable selected Text Value 绑定数据有两种方式:DataSource 遍历创建ListItem 取值两种单选 可以使用selectedItem 多选要使

WebForm 跨页面传值

跨页面传值 内置对象:QueryString - 地址栏数据拼接 ?key=value 优点: 简单好用,速度快,不消耗服务器内存缺点: 只能传字符串 保密性不好 长度有限 Response - 响应请求对象 Response.Redirect(path); - 重定向 Response.Write(" aaaa "); -输出内容 Server.Transfer(path); Request - 获取请求对象 Request["key"] - 默认返回的就是str