2017-08-31 86 views
0

我正在嘗試去除和角度對話框。我創建了一個非常簡單的代碼來顯示自定義警報對話框。我正在嘗試將字符串消息傳遞給對話框。對話框有一個OK按鈕,可以關閉它。ngClick單擊mdDialog的操作按鈕不觸發控制器功能

消息數據正在正確傳遞。但由於某種原因,OK按鈕不會觸發對話框控制器的功能。

這裏是我的代碼

Alert.html - 包含模板警報對話框

<md-dialog> 
    <md-dialog-content> 
     {{message}} 
    </md-dialog-content> 

    <md-dialog-actions> 
     <md-button ng-click="alertFunc"> 
      OK 
     </md-button> 
    </md-dialog-actions> 
</md-dialog> 

AlertCtrl.js - 包含控制器警告對話框

app.controller('AlertCtrl', function ($scope, $mdDialog, message) { 
    $scope.message = message 

    $scope.alertFunc = function() { 
     console.log("Closing Alert Dialog") 
     $mdDialog.hide() 
    } 
}) 

DialogService .js - 包含API以啓動警報撥號og

app.service('DialogService', function($mdDialog) { 

    // Launch Alert Dialog 
    this.alert = function (message) { 

     // Show Dialog 
     $mdDialog.show({ templateUrl: 'Alert.html', 
          controller: 'AlertCtrl', 
          clickOutsideToClose: true, 
          locals: { message: message } 
     }) 
    } 
}) 

alertFunc內部的日誌從不出現。

我也試過把controllerAs : 'ctrl'放在$mdDialog.show裏面。然後我將alertFunc聲明更改爲this.alertFunc = function...並更改了ng-click='ctrl.alertFunc'。然而,這並沒有工作。

有人可以幫我找出問題。

謝謝

+0

你可以把這個放在一個笨蛋? –

+1

嗨邁克......我把這個放在蹲跳板上,我突然意識到我錯過了一個()內ng單擊。現在正在工作。謝謝你的評論。沒有它就不會發生。這麼多2小時的頭腦風暴。 –

回答

0

應該ng-click="alertFunc()",而不是ng-click="alertFunc"。 2個小時的努力和一個愚蠢的括號。

驚人的程序員可以得到多麼無知。