Angularjs 对话框关闭后在控制器上调用方法

Angularjs 对话框关闭后在控制器上调用方法,angularjs,angularjs-scope,angular-ui,Angularjs,Angularjs Scope,Angular Ui,我试图打开一个对话框,用户可以在其中输入一个名称,然后在控制器上调用一个方法,并从对话框中传递结果 class MyController { constructor(public $scope, public $dialog) { } AddNew() { var t = '<form name="form" novalidate><div class="modal-header">' + '<h3&

我试图打开一个对话框,用户可以在其中输入一个名称,然后在控制器上调用一个方法,并从对话框中传递结果

class MyController {

    constructor(public $scope, public $dialog) {
    }

    AddNew() {

        var t = '<form name="form" novalidate><div class="modal-header">' +
          '<h3>Nova mapa</h3>' +
          '</div>' +
          '<div class="modal-body">' +
          '<p>Name: <input ng-model="result" type="text" required/></p>' +
          '</div>' +
          '<div class="modal-footer">' +
          '<button ng-click="close()" class="btn btn-primary" >Close</button>' +
          '<button ng-click="close(result)" class="btn btn-primary" ng-disabled="form.$invalid">Save</button>' +
          '</div><form>';

        this.$scope.opts = {
            backdropClick: false,
            template: t,
            controller: 'AddNewDialog'
        };


        var d = this.$dialog.dialog(this.$scope.opts);
        d.open().then(function (result) {
            if (result) {
                // this does not work 
                this.AddNewInternal(result)
            }
        });
    }

    private AddNewInternal(description: string) {
        //logic here

    };
}

function AddNewDialog
    ($scope, dialog) {
    $scope.close = () => {
        $scope.close(undefined);
    }
    $scope.close = (result) => {
        dialog.close(result);
    };
}
类MyController{
构造函数(public$作用域,public$对话框){
}
AddNew(){
变量t=''+
“新星地图”+
'' +
'' +
“名称:

”+ '' + '' + “结束”+ “保存”+ ''; 此。$scope.opts={ backdropClick:false, 模板:t, 控制器:“AddNewDialog” }; var d=此.$dialog.dialog(此.$scope.opts); d、 open()。然后(函数(结果){ 如果(结果){ //这行不通 this.AddNewInternal(结果) } }); } 私有AddNewInternal(描述:字符串){ //这里的逻辑 }; } 函数AddNewDialog ($scope,对话框){ $scope.close=()=>{ $scope.close(未定义); } $scope.close=(结果)=>{ 对话框。关闭(结果); }; }
我得到一个错误“对象不支持属性或方法'AddNewInternal'” 谁能帮我解决这个问题?
谢谢

请看。@Blackhole Thx,解决了我的问题