87

“解雇”模态和“关闭”模态有什么区别?

close(result) - a method that can be used to close a modal, passing a result
dismiss(reason) - a method that can be used to dismiss a modal, passing a reason
4

2 回答 2

98

答案在文档中,就在您引用的两行之后:

open 方法返回一个模态实例,一个具有以下属性的对象:

  • close(result) - 一种可用于关闭模式并传递结果的方法
  • dismiss(reason) - 一种可用于关闭模式的方法,传递一个原因
  • result - 当模式关闭时解决的承诺并在模式关闭时被拒绝

这里重要的一点是承诺会发生什么。关闭时,承诺已解决 - 本质上,“成功”回调触发。在关闭时,promise 被拒绝,因此运行“失败”回调。

于 2013-11-02T15:25:57.533 回答
2

我发现如果从用户关闭模态(例如返回到模态背后的状态并调用 state.go('^')),则最好使用模态的关闭,并且使用模态的关闭通过 $state.go 或 ui-sref 更改状态时。

这样,您可以根据发生的情况使用resultPromise 做不同的事情。

result.then(function() { /* state change via ui-sref */ })

result.catch(function() { /* user closed modal */ })

于 2017-04-24T14:18:59.317 回答