0

我正在使用Angular Bootstrap UI並使用模態。我的主控制器中有一個變量,在控制器負載上實例化。角度模式範圍值未設置

$scope.links = { 
      imagesa: "" 
     }; 

這個變量不被設置爲值「哭」後,我關閉模式。

任何想法是什麼問題在這裏?

這裏是打開模態對話框

$scope.instagramModal = function (size) { 

     var modalInstance = $modal.open({ 
      templateUrl: 'instagramModal.html', 
      controller: 'InstagramModalInstanceCtrl', 
      size: size, 
      resolve: { 
       items: function() { 
        return $sails.get("/instagram/self").success(function (response) { 

         return response.data; 

        }).error(function (response) { 
         console.log('error'); 
        }); 
       } 
      } 
     }); 

     modalInstance.result.then(function (selectedItem) { 
      $scope.links.imagesa = 'Wept'; 

     }, function() { 
      $log.info('Modal dismissed at: ' + new Date()); 
     }); 
    }; 

這是modalDialog控制器

+0

你讀過的文檔?它明確指出:「範圍 - 用於模式內容的範圍實例(實際上,$ modal服務將創建提供的範圍的子範圍),默認爲$ rootScope」。將你的範圍傳遞給'$ modal.open',或者使用'$ close(result)'。 – user3707125

+0

$ scope.links.imagesa =「wept」未設置,並且設置爲$ scope.testthisset =「set」。如何將值分配給對象是否存在問題?我在主控制器範圍內初始化了對象。 – TommyK

回答

0

你是如何關閉模式的功能?

你必須與.close()關閉模式,當你期待不dismiss()

$modalInstance.close(); 
+0

該值正在從模態控制器返回。它的時候它在modalInstance.result.then函數中沒有設置全局範圍的main變量。我更新了問題以顯示模態代碼 – TommyK

0

items對象返回一個$promise對象,而不是data對象。

我不會解決這樣的注入依賴。我可能會打電話到$sails到服務。但是,如果您想這樣做,請嘗試在模態控制器內使用success函數。

resolve: { 
    items: function() { 
     return $sails.get("/instagram/self"); 
} 

//你的模態控制器上

.controller('InstagramModalInstanceCtrl', function ($scope, $modalInstance, items) { 

    items.then(function (response) { 
     $scope.instapics = JSON.parse(response.data); 
    }) 
});