我试图连续打开两个视图,作为Appgyver项目中的模态。当我执行supersonic.ui.modal.hide()
和supersonic.ui.modal.show(some_view)
时,第二个视图不显示。如果我在alert('here')
和modal.hide()
之间加入modal.show()
,它似乎有效。这里有什么问题?它与supsersonic.ui.layers.pop()
和supersonic.ui.layers.push(another_view)
相同。
使用示例:
}else if (option === 'chooseLocation'){
$scope.currentOption = "location you chose.";
$scope.f = true;
supersonic.ui.modal.hide().then(function(){
supersonic.ui.modal.show("chooseLocation");
$localStorage.locationOption = 'lastUsed';
});
}
我今天早上尝试的另一个片段与模态无关,但也不起作用:
supersonic.ui.layers.popAll().then(function(){
var view = new supersonic.ui.View("searchresults#index?"+paramText);
supersonic.ui.layers.push(view);
});
我在日志屏幕上看到的错误:
landing#drawer 11:23:29.382 error
"supersonic.ui.layers.popAll rejected: {}"
答案 0 :(得分:1)
这似乎是Supersonic API中的一个错误。
当本机包装器收到API调用时,将调用Javascript成功回调。这是无效的行为。当本机包装器完成 API调用(预期行为)时,应调用Javascript成功回调。
作为解决方法,使用Use didclose
等使用Steroids.js事件来确定本机API调用何时完成。
有关详细说明,请参阅Steroids modals和Steroids layers。