2017-02-19 6 views
9

私はAngularJsマテリアルで初心者ですが、 'mdbottomsheet'を開いてこのシートの内側にボタンを入れたいときは、ボタンをクリックし、最初の 'mdbottomsheet'を閉じることなく別の 'mdbottomsheet'を開きます。Angularjsマテリアルで別の 'mdbottomsheet'より 'mdbottomsheet'を開くことができますか?

HTMLコードがあります:

<div ng-controller="MyController"> 
    <md-button ng-click="openBottomSheet()"> 
    Open a Bottom Sheet! 
    </md-button> 
</div> 

ありJS:

var app = angular.module('app', ['ngMaterial']); 
app.controller('MyController', function($scope, $mdBottomSheet) { 
    $scope.openBottomSheet = function() { 
    $mdBottomSheet.show({ 
    controller: 'BottomSheet', 
    template: '<md-bottom-sheet>Hello! 
      <md-button ng-click="openSecondBottomSheet()"> 
       Open Second Bottom Sheet! 
      </md-button></md-bottom-sheet>' 
    }); 
}; 
}); 

と 'BottomSheet' コントローラで:

var app = angular.module('app', ['ngMaterial']); 
app.controller('BottomSheet', function($scope, $mdBottomSheet) { 
    $scope.openSecondBottomSheet = function() { 
    $mdBottomSheet.show({ 
    controller: 'SecondBottomSheet', 
    template: '<md-bottom-sheet>Hello!</md-bottom-sheet>' 
    }); 
}; 
}); 

これは、私のコードである、それは動作しますが、 'ときSecondBottomSheet 'が開き、最初に' BottomSheet 'が閉じました!私は最初の 'BottomSheet'上で 'SecondBottomSheet'を開きたい!

答えて

4

$mdBottomSheet.show()は、底部シートが閉じているかどうかを確認するために使用できる約束を返します。あなたは、ボタンをクリックして最初のボトムシートを閉じ、別のボトムシートを開くことを約束して同じことをエミュレートすることができます。 2枚目のボトムシートが閉じると、最初のボトムシートを再び開くことができます。

関連する問題