angularJS使用rootscope创建父域和子模态框通用的属性与函数
1. 在声明创建controller指明引用$rootscope
reviewInterfaceDo.controller('reviewInterfaceDo', function($scope, $rootScope, $http, $uibModal, $uibModalInstance, toastr,parameterRecord,user)
2. 在controller中声明创建rootscope型变量commonScope ,并配置此scope内的函数和属性
//define root scope for modal use
var commonScope = $rootScope.$new();
commonScope.rootSaveScore = function (userScoreList) {
if (userScoreList != null && userScoreList.length > 0) {
var fd = new FormData();
var userScoreRecords = angular.toJson(userScoreList);
fd.append('userScoreRecords', userScoreRecords);
$http.post('/reviewProcess/save', fd, {
transformRequest: angular.identity,
headers: {
'Content-Type': undefined
}
})
.success(function (data){
toastr.success("submit "+data+" score record success");
})
.error(function (data) {
toastr.error("submit failed");
});
} };
3. 在打开模态框的方法中传入commonScope
$scope.openModal= function() {
$scope.getReviewedScore();
$uibModal.open({
templateUrl: 'save.html',
controller: 'saveController',
scope: commonScope,
resolve: {
parentModalInstance: function() {
return $uibModalInstance;
},
userScoreList : function () {
return $scope.userScoreList;
}
}
});
}
4. 在子模态框的controller中接收scope
saveController.controller('saveController', function($scope, $http, $uibModalInstance, parentModalInstance, toastr,userScoreList)
5. 最后就可以在子模态框的controller中调用commonScope 中的方法和属性啦
$scope.save= function() {
//save reviewed score
$scope.rootSaveScore($scope.userScoreList);
//close modal
$uibModalInstance.dismiss('cancel');
parentModalInstance.close();
};
* 在使用resolve传值时:
$scope.deleteVehicle = function(flag, instance){
debugger;
var modalInstance = $uibModal.open({
templateUrl: 'common-delete.html',
controller: 'VehicleDeleteCtrl',
animation: true,
resolve: {
instance: instance, // 对象可以直接穿
flag: function() { // 其他比如字符串需要使用函数传
return flag;
}
},
size: 'lg'
}); // 按下标删除
modalInstance.result.then(function() {
$scope.vehicles.splice($scope.vehicles.indexOf(instance), 1);
angularJS使用rootscope创建父域和子模态框通用的属性与函数的更多相关文章
- layer通过父页面调用子页面的方法及属性
引言 在使用layer.js的过程中,需要通过layer.open()以iframe的形式打开特定的页面,同时需要用layer的按钮对打开的页面进行提交及重置操作,但是苦于不知如何在父页面调用子页面的 ...
- angularJs 自定义指令传值---父级与子级之间的通信
angularJs自定义指令用法我忽略,之前有写过,这里只说一下父子级之间如何传值: 例如: 模块我定义为myApp,index.html定义 <my-html bol-val="bo ...
- vue组件之间的通信以及如何在父组件中调用子组件的方法和属性
在Vue中组件实例之间的作用域是孤立的,以为不能直接在子组件上引用父组件的数据,同时父组件也不能直接使用子组件的数据 一.父组件利用props往子组件传输数据 父组件: <div> < ...
- Vue中的父组件给子组件传值
父子组件传值: 父组件在调用子组件的地方,添加一个自定义的属性,属性的值就是你要传递给子组件的数据,如果值是一个变量,那么需要使用到绑定属性: 在子组件定义的地方,添加一个props选项,值为一个数组 ...
- vue中子组件调用父组件里面的数据和方法 父组件调用子组件的数据和方法
1.子组件直接调用父组件的数据和方法 在父组件father,vue <template> <div> <!-- 父组件里面的数据 --> <p>父组件里 ...
- HierarchyId通过父节点创建一个新的子节点
--HierarchyId通过父节点创建一个新的子节点 CREATE TABLE #temp( node HierarchyID ); insert into #temp select '/' uni ...
- Windows Server 2008 R2父域管理员与子域管理员相互登录访问
一.问题: 父域创建的域管理员登录不了子域服务器,子域创建的域管理员登录不了父域服务器? 二.原因分析: 父域创建的域管理员是存在父域中,而子域创建的域管理员存在子域中,父域创建的管理员是不存在子域中 ...
- Iframe父页面与子页面之间的调用
原文:Iframe父页面与子页面之间的调用 Iframe父页面与子页面之间的调用 专业词语解释如下: Iframe:iframe元素是文档中的文档. window对象: 浏览器会在其打 ...
- Vue-组件嵌套之——父组件向子组件传值
父组件向子组件传值步骤: 在这里先定义一下,相对本案例来说:App.vue是父组件,Second-module.vue是子组件. 一.首先,值肯定是定义在父组件中的,供所有子组件共享.所以要在父组件的 ...
随机推荐
- 浅谈JavaScript位操作符
因为ECMAscript中所有数值都是以IEEE-75464格式存储,所以才会诞生了位操作符的概念. 位操作符作用于最基本的层次上,因为数值按位存储,所以位操作符的作用也就是操作数值的位.不过位操作符 ...
- Davinci DM6446开发攻略-UBOOT-2009.03移植2 nand flash的烧写
很长一段时间没有更新博客了,是因为要推出新开发方案和做好客户服务工作,忙得不易乐乎.有关DAVINCI U-BOOT的移植,以前写过一篇u-boot-1.3.4(2008年的),其实和这个u-bo ...
- V4L2驱动的移植与应用(一)
V4L2(video for linux) 可以支持多种设备,它可以有以下5种接口: 1.视频采集接口(video capture interface):这种应用的设备可以是高频头或者摄像头.V4L2 ...
- 如何构造一个简单的USB过滤驱动程序
本文分三部分来介绍如何构造一个简单的USB过滤驱动程序,包括"基本原理"."程序的实现"."使用INF安装".此文的目的在于希望读者了解基本 ...
- R语言 文本挖掘 tm包 使用
#清除内存空间 rm(list=ls()) #导入tm包 library(tm) library(SnowballC) #查看tm包的文档 #vignette("tm") ##1. ...
- VTK显示.vtk格式文件
void ReadandShowVTKFile () { vtkSmartPointer<vtkRenderer > aRenderer = vtkSmartPointer<vtkR ...
- org.hibernate.exception.GenericJDBCException: Could not open connection
1.错误描述 org.hibernate.exception.GenericJDBCException: Could not open connection at org.hibernate.exce ...
- HTML5不允许写结束标记的元素
HTML5不允许写结束标记的元素 1.area 2.base 3.br 4.col 5.command 6.embed 7.img 8.hr 9.keygen 10.link 11.meta 12.p ...
- fineuploader使用实例
1.Fine Uploader特点 Fine Uploader Features: A:支持文件上传进度显示. B:文件拖拽浏览器上传方式 C:Ajax页面无刷新. D:多文件上传. F:跨浏览器. ...
- 芝麻HTTP:在阿里云上测试Gerapy教程
1.配置环境 阿里云的版本是2.7.5,所以用pyenv新安装了一个3.6.4的环境,安装后使用pyenv global 3.6.4即可使用3.6.4的环境,我个人比较喜欢这样,切换自如,互不影响. ...