如何从AngularJS中的ModalForm访问当前父级的父级范围?
我有一个父控制器如何从AngularJS中的ModalForm访问当前父级的父级范围?,angularjs,ecmascript-6,Angularjs,Ecmascript 6,我有一个父控制器用户,在用户控制器中,我编写了一个获取用户详细信息的方法 export default class UserController { constructor(userService) { this._userService = userService; } getUserDetails(){ return this._userService.getDetails() } } 我还有一个用于UserController的子控制器Home。在主页
用户
,在用户
控制器中,我编写了一个获取用户详细信息的方法
export default class UserController {
constructor(userService) {
this._userService = userService;
}
getUserDetails(){
return this._userService.getDetails()
}
}
我还有一个用于UserController
的子控制器Home
。在主页内,我添加了一个模式表单
export default class HomeController {
constructor() {
}
showUploadDialog(ev) {
this._mdDialog.show({
templateUrl: './modules/upload-properties/uploadproperties.tpl.html',
locals: { home: this },
controller: 'UploadPropertiesController',
controllerAs: 'uploader',
bindToController: true,
targetEvent: ev,
clickOutsideToClose: true
});
}
}
我的模态窗体控制器是
export default class UploadPropertiesController{
constructor() {
}
getUserDetailsFromParent(){ //I need to get user details from Parent UserController
return user.getUserDetails()
}
}
如何从ModalForm访问当前父级的父级(UserController)
$scope
,您不需要访问父级作用域。你为什么认为你需要它?我认为模态形式有独立的作用域。所以,如果我想从模式表单页面访问UserController(当前父级的父级)方法,这是怎么可能的呢?范围是隔离的,但您当然可以访问它。但再一次:这是一个糟糕的方法,这就是为什么你不应该这么做。什么方法,它做什么/返回为什么modal需要它?有合适的解决方案。无论如何,文档中有明确的描述如何轻松地做到这一点(显示方法选项)。@Anuraj您应该使用服务/工厂。该服务应具有getUserDetails
方法。将其注入父控制器和模态表单中,以便两者都可以使用它。