如何使用引导模式而不是确认来使用CanDeactivate?事实是:如何在执行此过程时返回一个observable?
代码如下。 CheckoutComponent 是相同的组件,我有模态和我想要阻止停用的模式
public static String getJsonFromUrl(String url){
Gson gson = new GsonBuilder().create();
try{
Reader reader = new InputStreamReader(new URL(url).openStream());
gson.fromJson(reader, JsonObject.class);
}catch(IOException e){
throw new RuntimeException(e);
}
return gson.toString();
}
public static void main(String[] args) {
String json = getJsonFromUrl("https://api.kraken.com/0/public/Assets?asset=XBT");
System.out.println(json);
}
但我正在处理
TypeError:无法读取未定义的属性“saveChanges”
答案 0 :(得分:4)
返回Promise而不是Observable可能会更好,因为你只需要一次布尔答案。然后,您可以将单击事件添加到解析承诺的模式按钮:
canDeactivate(): Promise<boolean> {
let $modal = jQuery('#deactModal').modal();
return new Promise<boolean>((resolve, reject) => {
document.getElementById("btnAccept").onclick = ((e: any) => {
jQuery('#deactModal').modal('hide');
resolve(true);
});
document.getElementById("btnCancel").onclick = ((e: any) => {
jQuery('#deactModal').modal('hide');
resolve(false);
});
$modal.modal("show");
});
}
您可以避免使用带有角度引导程序库的事件处理程序而不是jQuery引导程序。