Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 角度ui引导:在模式关闭时已解决/拒绝承诺_Javascript_Angularjs_Twitter Bootstrap_Promise_Angular Promise - Fatal编程技术网

Javascript 角度ui引导:在模式关闭时已解决/拒绝承诺

Javascript 角度ui引导:在模式关闭时已解决/拒绝承诺,javascript,angularjs,twitter-bootstrap,promise,angular-promise,Javascript,Angularjs,Twitter Bootstrap,Promise,Angular Promise,我正在使用AngularUI引导桥库研究angular和bootstap。我想要实现的是重用,并将其封装在一个承诺中,该承诺将在模式成功关闭(当按下OK按钮)或被拒绝(在模式外部按下或单击cancel按钮)时得到解决 就我所见,有一个来自桥接库的$modal服务,它只有一个可用的方法:open(options)。还有内置的:$q。我正在寻找如何将两者结合起来的方法 我想要一个自定义组件(服务、工厂?),它将提供一个startFlow方法,该方法将返回一个承诺。调用startFlow也会打开引导模

我正在使用AngularUI引导桥库研究angular和bootstap。我想要实现的是重用,并将其封装在一个承诺中,该承诺将在模式成功关闭(当按下
OK
按钮)或被拒绝(在模式外部按下或单击
cancel
按钮)时得到解决

就我所见,有一个来自桥接库的
$modal
服务,它只有一个可用的方法:
open(options)
。还有内置的:
$q
。我正在寻找如何将两者结合起来的方法

我想要一个自定义组件(服务、工厂?),它将提供一个
startFlow
方法,该方法将返回一个承诺。调用
startFlow
也会打开引导模式。当模式关闭(积极或消极)时,承诺人将得到解决或拒绝


有人能给出一个如何实现的提示吗?到目前为止,我还没有找到一个现有的解决方案…

对象上由
open
返回的
result
属性是一个与您描述的行为完全一致的承诺。事实上,at文档中的示例使用了它:


从这个例子中可以看出,这是一个很好的答案。Google/angular可以通过将属性命名为
.promise
,而不是
.result
,让每个人的生活都变得更轻松,这是不可能的。
var modalInstance = $modal.open({
  templateUrl: 'myModalContent.html',
  controller: 'ModalInstanceCtrl',
  size: size,
  resolve: {
    items: function () {
      return $scope.items;
    }
  }
});

modalInstance.result.then(function (selectedItem) {
  $scope.selected = selectedItem;
}, function () {
  $log.info('Modal dismissed at: ' + new Date());
});