2014-10-02 102 views
-3

工作 什麼是錯的不是工作角串的變化沒有檢測

var angulargap = angular.module("angulargap", []); 
angulargap.factory('cartService', function($rootScope,$http){  
    var fac ={ 
     message:"factory", 
     getCart:function(call){ 
      $http.post("/rpc.php", {app:"get_cart",pag:"cart"}) 
      .success(function(data, status, headers, config) { 
       fac.setMessage("success");  
      }).error(function(data, status, headers, config) { 

      }); 

     }, 
     setMessage:function(m){fac.message=m;} 
    } 
    return fac; 
}); 
angulargap.controller("iridium", function ($scope,cartService){  
    cartService.getCart(); 
    $scope.message=cartService.message; 
}); 

,而不是更新的數組一切變量字符串的變化呢? 感謝

+1

可以嘗試並解釋你的問題有點多..其很難知道你想達到的目標。 – Pogrindis 2014-10-02 08:32:48

+0

你是否用chrome調試過它?也許'fac.setMessage'是未定義的? – graphefruit 2014-10-02 08:32:59

回答

0

我解決它通過與對象

var angulargap = angular.module("angulargap", []); 
angulargap.factory('cartService', function($rootScope,$http){  
    var fac ={ 
     messages:{cartnum:"0"}, 
     getCart:function(call){ 
      $http.post("/rpc.php", {app:"get_cart",pag:"cart"}) 
      .success(function(data, status, headers, config) { 
       fac.setCounter("num from server");  
      }).error(function(data, status, headers, config) { 

      }); 

     }, 
     setCounter:function(m){fac.messages.cartnum=m;} 
    } 
    return fac; 
}); 
angulargap.controller("iridium", function ($scope,cartService){  
    cartService.getCart(); 
    $scope.messages=cartService.messages; 
}); 

現在一切正常改變字符串變量,我看到的結果在前端 有人可以向我解釋爲什麼如果我使用字符串變量,它不起作用?

我明白了這樣:

{{messages.cartnum}} 
0

替換該行

setMessage:function(m){fac.message=m;} 

setMessage:function(m){message=m;}