在Angular UI-Bootstrap中,“解除”模态和“closures”模态有什么区别?

“解除”模式和“closures”模式有什么区别?

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) – 一个可以用来closures模式的方法,传递一个结果
  • 解雇(reason) – 一种可以用来消除一种情态的方法,传递一个理由
  • 结果 – 当模态被closures时解决的承诺,当模态被解除时被拒绝

这里的重要一点是承诺发生了什么。 接下来,这个承诺就解决了 – 从本质上讲,“成功”的callback就会触发。 在解雇时,承诺被拒绝,因此运行“失败”callback。

我发现,如果是从closures模态的用户(例如,返回到模态后面的状态并调用state.go('^')),则最好使用模式的解除,并且使用模态的closures当通过$ state.go或ui-sref改变状态。

这样,你可以使用result承诺来做不同的事情,取决于发生的事情。

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

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