我有一个控制器,它使用 ngDialog.open 创建一个对话框。我在弹出的 $dialog 中分配 scope:$scope 并使用 ng-model 设置范围变量。但是,这些值未在控制器 $scope 中设置。ng-click 函数能够调用 $scope 中的函数。
有什么我遗漏的吗,我在这里和 github 上搜索了很多,阅读了文档并使用了项目中 github 上提供的所有示例。
下面的 JS Fiddles 解释了。它表明 scope:$scope 不是 .open() 看起来的样子。这是一种单向绑定,不会返回到 $scope。.openConfrm() 似乎具有预期的行为。
ngDialog.open() - http://jsfiddle.net/s1ca0h9x/ (已修复!!按预期工作)
ngDialog.openConfirm() - http://jsfiddle.net/tbosLoa9/ (按预期工作)
var myApplication = angular.module('myApplication', ['ngDialog']);
myApplication.controller('MainController', function ($scope, ngDialog) {
$scope.FormData={newAccountNum:''};
$scope.ShowNgDialog = function () {
ngDialog.open({
template: '<div><input type="text" ng-model="FormData.newAccountNum"/></div>',
plain: true,
scope:$scope
});
}
});