日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

angularJs 跨控制器与跨页面传值

發布時間:2025/7/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

案例1:在頁面A的Controller中

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

在頁面B中

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

?

?可以用restFul風格的路徑

案例2:在頁面A的控制器中

注:要注入$routeParams

1 $scope.edit = function (role) { 2 window.location.href = "#/roles/" + role.RoleID + "/edit"; 3 }

在接受參數B控制器中

1 var roleID = parseInt($routeParams.id);

?

?

注:僅個人理解及筆記,有錯誤的地方請各位指正!

轉載于:https://www.cnblogs.com/zfdcp-028/p/5781122.html

總結

以上是生活随笔為你收集整理的angularJs 跨控制器与跨页面传值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。