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创建父域和子模态框通用的属性与函数的更多相关文章

  1. layer通过父页面调用子页面的方法及属性

    引言 在使用layer.js的过程中,需要通过layer.open()以iframe的形式打开特定的页面,同时需要用layer的按钮对打开的页面进行提交及重置操作,但是苦于不知如何在父页面调用子页面的 ...

  2. angularJs 自定义指令传值---父级与子级之间的通信

    angularJs自定义指令用法我忽略,之前有写过,这里只说一下父子级之间如何传值: 例如: 模块我定义为myApp,index.html定义 <my-html bol-val="bo ...

  3. vue组件之间的通信以及如何在父组件中调用子组件的方法和属性

    在Vue中组件实例之间的作用域是孤立的,以为不能直接在子组件上引用父组件的数据,同时父组件也不能直接使用子组件的数据 一.父组件利用props往子组件传输数据 父组件: <div> < ...

  4. Vue中的父组件给子组件传值

    父子组件传值: 父组件在调用子组件的地方,添加一个自定义的属性,属性的值就是你要传递给子组件的数据,如果值是一个变量,那么需要使用到绑定属性: 在子组件定义的地方,添加一个props选项,值为一个数组 ...

  5. vue中子组件调用父组件里面的数据和方法 父组件调用子组件的数据和方法

    1.子组件直接调用父组件的数据和方法 在父组件father,vue <template> <div> <!-- 父组件里面的数据 --> <p>父组件里 ...

  6. HierarchyId通过父节点创建一个新的子节点

    --HierarchyId通过父节点创建一个新的子节点 CREATE TABLE #temp( node HierarchyID ); insert into #temp select '/' uni ...

  7. Windows Server 2008 R2父域管理员与子域管理员相互登录访问

    一.问题: 父域创建的域管理员登录不了子域服务器,子域创建的域管理员登录不了父域服务器? 二.原因分析: 父域创建的域管理员是存在父域中,而子域创建的域管理员存在子域中,父域创建的管理员是不存在子域中 ...

  8. Iframe父页面与子页面之间的调用

    原文:Iframe父页面与子页面之间的调用 Iframe父页面与子页面之间的调用 专业词语解释如下:     Iframe:iframe元素是文档中的文档.     window对象: 浏览器会在其打 ...

  9. Vue-组件嵌套之——父组件向子组件传值

    父组件向子组件传值步骤: 在这里先定义一下,相对本案例来说:App.vue是父组件,Second-module.vue是子组件. 一.首先,值肯定是定义在父组件中的,供所有子组件共享.所以要在父组件的 ...

随机推荐

  1. vue项目中遇到的问题

    在 export defaul new Router({ )} 这个路由配置中一定要加mode : 'history' 否者就会在路由前面默认添加# 路由跳转的几种方式: 在VUE中使用less来编译 ...

  2. C语言老司机学Python (三)

    条件语句: 注意1) condition后面的冒号 2) elif if condition_1: statement_block_1elif condition_2: statement_block ...

  3. 针对特定XML的解析器XMLParser

    一.建立网页库和偏移文件 为文本搜索引擎建立网页库,首先要把所有的网页(这里是文章)格式化,并保存到指定的格式中.如以下格式:   |                                  ...

  4. document.forms[].submit()

    document.forms['exportServlet'].submit(); (1)document.forms:表示获取当前页面的所有表单 (2)document.forms[0]:表示获取当 ...

  5. 错误代码: 1054 Unknown column 't.createUsrId' in 'group statement'

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:select count(t.id),t.`createUserId` fr ...

  6. 拼接SQL语句缺少“break”

    1.错误描述 [ERROR:]2015-07-20 16:42:21,734 [插入失败] org.hibernate.exception.SQLGrammarException: error exe ...

  7. 修改MyEclipse编辑框背景色

    修改MyEclipse编辑框背景色 1.未修改之前,编辑框背景色 2.依次操作,"Window--->Preferences" 3.选择"General---> ...

  8. (十四)java中super和this

    super代表的是父类.超类,用在继承中的子类中:this代表对象本身,用在本类中.     super访问的是被子类隐藏的父类的属性或被覆盖的方法,而this访问的是同一类中的成员.     sup ...

  9. 电脑中安装多个jdk,eclipse的选择!

    以前自己写java程序的时候,没有用到什么高级的东西,所以没咋关注eclipse中jdk的版本问题: 但是随着学习的深入,难免会用到别人的项目,那么在导入别人的项目过程中就会发现时长有问题,而很多情况 ...

  10. oracle分析函数技术详解(配上开窗函数over())

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...