javascript - AngularJS服务中 undefined object

标签 javascript jquery angularjs

我想将数据从 Controller 1 共享到另一个 Controller

我的第二个 Controller 出现未定义的错误。有人能告诉我我的代码有什么问题吗?

服务

app.service('var_transfer_service', function(){
       var test_var;              

          return {
             getVar: function () {
                return test_var;
           },
             setVar: function( _test_var ) {
                test_var = _test_var; 
                console.log(test_var);//show the object content in my console
            }
        }
   })

Controller 1

app.controller('homeCtrl', function($scope,$http, $filter ,var_transfer_service){
$scope.search_item = function ($event,item){
         console.log(item)
         var latt = item.lat;
         var lngt = item.lng;

         var_transfer_service.setVar(item); 
     }       

});

Controller 2

 app.controller('MapCtrl',function($scope,var_transfer_service, $state, $cordovaGeolocation) {
    var transferred_var = var_transfer_service.getVar();
    console.log(transferred_var); //undefined object
 });

最佳答案

它是未定义的,因为它没有初始化:

var test_var;

您只需在 setVar 函数上设置一个值,该函数会在第二个 Controller 的 $scope.search_item 函数中调用(您从未调用过)。

你的缩进行为是什么?

关于javascript - AngularJS服务中 undefined object ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37917792/

相关文章:

javascript - 延迟长时间运行的计时器任务以提高滚动平滑度

javascript - 停止绝对定位的 div 以在相对父级内移动

javascript - jQuery .append() 以错误的方式改变了页面布局

angularjs - 如何将 Protractor 测试用例与 Hiptest 集成?

javascript - 如何使用sequelize和mysql创建一对一关系?

javascript - 仅当我在 Chrome 上缓存刷新时,网站才能完全运行,在其他浏览器上运行良好

javascript - 使用 angularjs 将单选按钮绑定(bind)到 ng-model

html - 在圆形进度区域中部分显示图像

javascript - Bootstrap 工具提示标题中的 anchor 链接在点击时不像 anchor

javascript - 页面加载时触发 jQuery 事件