簡體   English   中英

Appgyver Steroids,Web View中的更新對象將不會顯示

[英]Appgyver Steroids, updated object in Web View won't show

我正在開發一個帶有Appgyver Steroids和AngularJs的HTML5移動應用程序。 該應用程序使用全局JavaScript對象填充步驟中的信息,並由整個應用程序使用。 一切都很順利,直到我需要創建一個gallery.html並將其作為主控制器的Web層推送。 main.html和gallery.html有自己的控制器。 Gallery.html按照預期從javascript對象顯示所有圖片,當我刪除它們時,它們也會從javascript對象中刪除,如預期的那樣。 但是,當我返回main.html並點擊“圖庫”時,他們又在gallery.html中再次出現。

我認為必須有范圍問題或多個實例? 如何讓gallery.html讀取實際對象(刪除后沒有圖片的對象)? 為什么gallery.html沒有更新其值? 我一直在運行代碼並且沒有任何問題,但是當我在Web層中使用它時,會發生這種情況。

在主控制器中:

$scope.gallery = function(roomId, detailId) {
    pictures = inspectionService.getPictures(roomId, detailId);

    if (pictures.length > 0) {
        webView = new steroids.views.WebView("/views/inspection/gallery.html?roomId=" + roomId + '&detailId=' + detailId);
        steroids.layers.push(webView);
    } else {
        this.camera();
    }
};

在圖庫控制器中:

function init(){
    roomId = steroids.view.params.roomId;
    detailId = steroids.view.params.detailId;
    updateGallery();
}

//UPDATING GALLERY
function updateGallery() {
    $scope.pictures = inspectionService.getPictures(roomId, detailId);
    $scope.info = inspectionService.getRoom(roomId).name + ": " + inspectionService.getDetail(roomId, detailId).name;
};

//REMOVE PICTURE
$scope.removePicture = function(pictureUri) {
    inspectionService.removePicture(roomId, detailId, pictureUri);
    updateGallery();

    if (pictures.length <= 0) {
        steroids.layers.pop();
    }
};

AppGyver員工在這里! Steroids中的WebViews是單獨的“瀏覽器”實例,每個實例都有自己的DOM和JavaScript運行時。 我寫了一個關於這個主題的快速指南,請查看: http//guides.appgyver.com/steroids/guides/steroids-js/sharing-data-between-webviews/

基本上,您需要確保在不同視圖之間維護inspectionService狀態 - 指南中關於使用后台HTML WebView的最后一部分應該是有用的!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM