2016-08-13 13 views
1

こんにちは私はカスタムmd-ダイアログで角度をつけてコンポーネントを作成しようとしています。ダイアログには、値を返す必要がありますが、私はここでは、コールバックにコンポーネントVARに角度1.5 +コンポーネント内の材料ダイアログの戻り値

class TestDialog { 
    constructor($mdDialog, $mdMedia) { 
    'ngInject'; 
    this.$mdDialog = $mdDialog; 
    this.$mdMedia = $mdMedia; 

    this.objTmp={test:"test"}; 
    } 

    open(event) { 
    this.$mdDialog.show({ 
     controller($mdDialog) { 
     'ngInject'; 

     this.close =() => { 
      $mdDialog.hide(); 
     } 
     this.answer = (answer) => { 
      $mdDialog.hide(answer); 
     }; 
     }, 
     controllerAs: 'testModal', 
     template: '<md-dialog aria-label="Test" ng-cloak flex-gt-md="60"><form><md-toolbar><div class="md-toolbar-tools" layout-align="space-between center"><h2>Test Modal</h2><md-button ng-click="testModal.close()">Close</md-button></div></md-toolbar><md-dialog-content><div class="md-dialog-content"><md-input-container flex-gt-sm="50"><label>Value</label><input ng-model="testModal.value" required></md-input-container></div></md-dialog-content><md-dialog-actions layout="row"><md-button ng-show="testModal.value" class="md-raised md-primary" ng-click="testModal.answer(testModal.value)">Añadir</md-button></md-dialog-actions></form></md-dialog>', 
     targetEvent: event, 
     parent: angular.element(document.body), 
     clickOutsideToClose: true, 
     fullscreen: this.$mdMedia('sm') || this.$mdMedia('xs') 
    }).then(function(answer) { 
     console.log(answer); 
     console.log(objTmp); 
     this.objTmp=answer; 
     console.log(objTmp); 
    }, function() {}); 
    } 
} 

angular.module('app', ['ngMaterial']) 
    .component('testDialog', { 
    template: '<md-button class="md-raised" aria-label="'+ 'Open Dialog" ng-click="testDialog.open($event)">'+ 
'Open Dialog'+ 
'</md-button>', 
    controllerAs: 'testDialog', 
    controller: TestDialog 
}); 

にアクセスする方法がわからないcodepenです:角度材料フォーラムで

http://codepen.io/isibz/pen/yJkVLv

答えて

関連する問題