“解雇”模态和“关闭”模态有什么区别?
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
“解雇”模态和“关闭”模态有什么区别?
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
答案在文档中,就在您引用的两行之后:
open 方法返回一个模态实例,一个具有以下属性的对象:
- close(result) - 一种可用于关闭模式并传递结果的方法
- dismiss(reason) - 一种可用于关闭模式的方法,传递一个原因
- result - 当模式关闭时解决的承诺并在模式关闭时被拒绝
这里重要的一点是承诺会发生什么。关闭时,承诺已解决 - 本质上,“成功”回调触发。在关闭时,promise 被拒绝,因此运行“失败”回调。
我发现如果从用户关闭模态(例如返回到模态背后的状态并调用 state.go('^')),则最好使用模态的关闭,并且使用模态的关闭通过 $state.go 或 ui-sref 更改状态时。
这样,您可以根据发生的情况使用result
Promise 做不同的事情。
result.then(function() { /* state change via ui-sref */ })
result.catch(function() { /* user closed modal */ })