2017-05-22 15 views
0

私はここで質問しました: Angular Boostrap Modal Service コード例がありますが、別のコントローラからモーダルを開く必要があります。私はモーダル表示を得ることができましたが、私はOKボタンをキャンセルするのに苦労しています。私のコードはこの質問と同じです。私は、異なるコントローラから作成されるモーダルを必要としますが、セットアップの仕方を理解することができません。私は本当にこれを助けてくれてありがとう、私はまだAngularが初めてです。角起動ストラップuiモーダル

StaffController

$scope.editmodal = function EditModal() { 
    var modalInstance = $uibModal.open({ 
    templateUrl: 'myModalContent.html', 
    scope: $scope, //passed current scope to the modal 
    size: 'sm', 
    closeButtonText: 'Close', 
    actionButtonText: 'OK' 
    }); 
}; 

にモーダルのコードをモーダルのロードの例は、名前付きコントローラ内にある:ModalController(これは、ここでの例をオフに含ま:https://angular-ui.github.io/bootstrap/

おかげで、

+0

を試してみたのですか? 'closeButtonText: '閉じる'、 actionButtonText: 'OK'、 ' – quirimmo

+0

はい、私はちょうどこれを試したが、キャンセルボタンはまだ動作しません。他のコントローラのモーダルインスタンスを使用してモーダルを表示するのは正しいですか? –

+0

あなたはすべての場所からモーダルを開くことができます。私は個人的にサービスを通してそれらを開き、関連サービスをコントローラの中に注入することを好む。だから、私のコードでOKボタンが働いていて、取り消しボタンが機能していないのですか? – quirimmo

答えて

1

モーダル宣言内のコントローラへの参照がありませんでした。テンプレート内では、$ctrl序文を省略するか、コントローラーの名前を指定するプロパティー。controllerAs。 あなたのコードはこのようにすべきです。

HTML:

<button class="btn btn-primary" type="button" ng-click="ok()">OK</button> 
<button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button> 

JS:あなたはモーダル次のプロパティのオプションで設定し

$scope.editmodal = function EditModal() { 
    var modalInstance = $uibModal.open({ 
    templateUrl: 'myModalContent.html', 
    controller: 'ApiStaffController', 
    size: 'sm' 
    }) 
}; 
関連する問題