Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-将对象数据传递到模式_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS-将对象数据传递到模式

Javascript AngularJS-将对象数据传递到模式,javascript,angularjs,Javascript,Angularjs,我有一个信息屏幕,在其中我使用中继器来构建特定用户的信息 单击“编辑”按钮时,如何将特定用户对象数据传递到模式窗口模板中 HTML <form class="custom" ng-controller="DepCtrl" ng-cloak class="ng-cloak"> <fieldset ng-repeat="object in data.dataset"> <legend><span>{{ object.header }}</span

我有一个信息屏幕,在其中我使用中继器来构建特定用户的信息

单击“编辑”按钮时,如何将特定用户对象数据传递到模式窗口模板中

HTML

<form class="custom" ng-controller="DepCtrl" ng-cloak class="ng-cloak">
<fieldset ng-repeat="object in data.dataset">
<legend><span>{{ object.header }}</span><span class="dep_rel">({{ object.relation }})  </span></legend>
    <div class="row">
        <div class="four columns" ng-repeat="o in object.collection.inputs">
            <span class="table_label">{{ o.label }}:</span><span class="table_answer">{{ o.value }}</span><br>
        </div>
    </div>
    <div class="row">
        <a ng-click="openDialog('edit')" style="color:#444;text-decoration:none;margin-right:10px;margin-top:5px;" class="btn_gray smaller left" href="#">Edit</a>
        <a style="color:#444;text-decoration:none;margin-top:5px;" class="btn_gray smaller" href="#">Delete</a>     
    </div>
</fieldset>
</form>

因为$dialog不是核心AngularJSAPI的一部分,所以了解您所指的是哪一个$dialog服务很有帮助。 假设您使用的是来自的$dialog服务,则可以通过$dialog配置对象的
resolve
属性将用户对象传递到对话框控制器中

如缔约国所述:

resolve:将作为成员解析并传递给控制器的成员 当地人

函数DepCtrl($scope,Dependents,$dialog){
$scope.data=受抚养人;
$scope.opts={
背景:没错,
键盘:没错,
对话:是的,
backdropClick:false,
template:t、//或:templateUrl:'path/to/view.html',
控制器:“TestDialogController”,
决心:{
用户:函数(){
返回$scope.data;
}
}
};
$scope.openDialog=函数(操作){
var d=$dialog.dialog($scope.opts);
d、 open();
};
}
/**
*[文本对话框控制器说明]
*@param{object}$dialog实例
*解析对象中的@param{mixed}user对象
*/
函数TextDialogController(对话框,用户){
...
}

如果承诺没有解决怎么办?我认为对话框不会打开,这很好,但在这种情况下,我们可以运行自定义代码吗?即,如何处理被拒绝的承诺?举个祝酒词什么的。
function DepCtrl($scope, Dependents, $dialog) {
$scope.data = Dependents;

var t = '<div class="modal-header">'+
      '<h3>' + $scope.header.value + '</h3>'+
      '</div>'+
      '<div class="modal-body">'+
      '<p>Enter a value to pass to <code>close</code> as the result: <input ng-model="result" /></p>'+
      '</div>'+
      '<div class="modal-footer">'+
      '<button ng-click="close(result)" class="btn btn-primary" >Close</button>'+
      '</div>';

$scope.opts = {
backdrop: true,
keyboard: true,
dialogFade: true,
backdropClick: false,
template:  t, // OR: templateUrl: 'path/to/view.html',
controller: 'TestDialogController'
};

$scope.openDialog = function(action){
var d = $dialog.dialog($scope.opts);
//if (action === 'edit') { $scope.opts.templateUrl = '../../modal.html'; }
d.open().then(function(result){
  if(result)
  {
    alert('dialog closed with result: ' + result);
  }
});
};
}