2014-04-02 16 views
0
lubanlockServices.factory('UserConfig', ['$resource', 
    function($resource){ 
     return $resource('user/config/:item', {item: '@item'}); 
    } 
]); 

lubanlockControllers.controller('NavCtrl', ['$scope', 'UserConfig', 
    function($scope, UserConfig){ 
     $scope.minimized = UserConfig.get({item: 'nav_minimized'}); 

     $scope.$watch('minimized', function(value){ 
      console.log(value); 
     }); 

     $scope.toggleMinimize = function(){ 
      $scope.minimized = !$scope.minimized; 
      UserConfig.save({item: 'nav_minimized'}, $scope.minimized); 
     } 
    } 
]); 

問題是,當$ scope.minimized爲false時,請求將不包含任何發佈數據,而不是發送JSON化的false。這會導致服務器端的問題保存值。

任何解決方案?或者我的使用有問題嗎?

回答

0

JSON是Javascript 對象表示法,你真的應該發佈(並檢索)一個對象。理想情況下,它看起來像:

$scope.config = UserConfig.get({item: 'nav_minimized'}); 
//returns a $resource with data {minimized: false} 

$scope.$watch('config.minimized', function(value){ 
    console.log(value); 
}); 
$scope.toggleMinimize = function(){ 
    $scope.config.minimized = !$scope.config.minimized; 
    $scope.config.$save(); //and then you can do this to save 
} 
+0

非常感謝。 –

相關問題