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,解决了我的问题