Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未检测到角度字符串更改_Javascript_Angularjs - Fatal编程技术网

Javascript 未检测到角度字符串更改

Javascript 未检测到角度字符串更改,javascript,angularjs,Javascript,Angularjs,变量字符串的更改不起作用 var angulargap = angular.module("angulargap", []); angulargap.factory('cartService', function($rootScope,$http){ var fac ={ message:"factory", getCart:function(call){ $http.post("/rpc.php", {app:"get_c

变量字符串的更改不起作用

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;
});
而是更新数组,一切正常 怎么了? 谢谢

更换这一行

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


我通过用一个对象更改字符串变量来解决这个问题

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}}

你能再解释一下你的问题吗。。很难知道你想要实现什么。你已经用chrome调试过了吗?可能
fac.setMessage
未定义?
{{messages.cartnum}}