簡體   English   中英

如何在$ mdDialog模式控制器中訪問父控制器數據

[英]How to access parent controller data in $mdDialog modal controller

Angularjs $ mdDialog在傳遞此參數時未打開模式。 為什么?

我正在嘗試訪問子控制器中的父控制器數據。 數據正在傳遞,但模式未打開。 當我打印響應時,它顯示

無法讀取未定義的屬性“ createDocumentFragment”

var ctrl = this;
ctrl.add_user_popup = function(data){

    $mdDialog.show({
        templateUrl: 'userManagement/addUserPopup.html',
        controller: 'addUserPopup_controller',
        controllerAs: 'umpctrl',
        clickOutsideToClose: true,
        dataToEdit: data,
        escapeToClose: true,
        parent: ctrl  //When I comment this line modal opens
    }).then(function(response){
        console.log('add_user_popup success',response);
    }, function(res){
        console.log('add_user_popup failed',response);
    })
}

我想在模式控制器中訪問父控制器數據。

var ctrl = this;
ctrl.add_user_popup = function(data){
    return $mdDialog.show({
        templateUrl: 'userManagement/addUserPopup.html',
        controller: 'addUserPopup_controller',
        controllerAs: 'umpctrl',
        clickOutsideToClose: true,
        ̶d̶a̶t̶a̶T̶o̶E̶d̶i̶t̶:̶ ̶d̶a̶t̶a̶,̶
        locals: { dataToEdit: data },
        bindToController: true,
        escapeToClose: true,
        ̶p̶a̶r̶e̶n̶t̶:̶ ̶c̶t̶r̶l̶ ̶ ̶/̶/̶W̶h̶e̶n̶ ̶I̶ ̶c̶o̶m̶m̶e̶n̶t̶ ̶t̶h̶i̶s̶ ̶l̶i̶n̶e̶ ̶m̶o̶d̶a̶l̶ ̶o̶p̶e̶n̶s̶
    }).then(function(result){
        console.log('add_user_popup success',result);
        return result;
    }, function(reason){
        console.log('add_user_popup dismissed',reason);
        throw reason;
    })
}

使用對話框選項對象的locals屬性。

從文檔中:

  • locals {object =} :包含鍵/值對的對象。 這些鍵將用作要插入控制器的值的名稱。 例如, locals: {three: 3}會將three3注入控制器。 如果bindToControllertrue ,它們將被復制到控制器。
  • bindToController - bool :將本地人綁定到控制器,而不是傳入它們。

有關更多信息,請參見

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM