Angularjs 控制器方法 arg 未定义

猴子与机枪

我正在尝试获取页面上的链接,以基本上从数据库加载数据块,然后对该数据执行函数。从数据库中收集数据的方法有效(如果我在单击链接后在浏览器中单步执行,我可以看到它),问题是用于处理数据的方法将其视为“未定义”。 .这对我来说似乎是一个范围界定的事情,但我不确定我做错了什么。目前我在 processData 方法中只有一条控制台日志消息,直到我可以解决这个问题。这是链接的 HTML:

<div ng-show="Base" >
    <a data-toggle="collapse" data-parent="Base" ng-click="processData(getDataFromDb('key101'))">Process Data</a>
</div>

这是控制器方法(我不想在此处转储大量 HTML,但进一步我使用 ng-controller="dataProcessor" 初始化控制器):

angular.module('baseApp').controller('dataProcessor', function($scope, $http) {
$scope.getDataFromDb = function(key) {
    $http.get('/trm/get_data_from_database?key='+key).then(function(response) {
        return response.data.block;
    }, function errorCallback(response) {
            console.log('Failed')
    });
};
$scope.processData = function(data) {
    console.log(data);
}
});

最终结果是,当点击链接时,调用 getDataFromDb 并从数据库中提取数据,这部分工作,只是当我设置断点并查看 getDataFromDb 的返回值调用 processData 时在 processData 中的“数据”参数处,它是“未定义的”。

有谁知道我做错了什么?谢谢!

阿杰·乔蒂

模板:

<div ng-show="Base" >
    <a data-toggle="collapse" data-parent="Base" ng-click="processData('key101')">Process Data</a>
</div>

控制器:

angular.module('baseApp')
 .controller('dataProcessor', function($scope, $http) {
    $scope.getDataFromDb = function(key) {
        return $http.get('/trm/get_data_from_database?key='+key).then(function(response) {
            return response.data.block;
        }, function errorCallback(response) {
                console.log('Failed')
        });
    };
    $scope.processData = function(key) {
        $scope.getDataFromDb(key)
          .then(function(data){
             console.log(data); 
          });
    };
 });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AngularJS 1.3.7中未定义控制器

未定义requirejs angularjs控制器

找不到AngularJS控制器,未定义

AngularJS控制器显示未定义?

AngularJS控制器不是函数,未定义

AngularJS显示了控制器的未定义函数

AngularJS:使用Jasmine与控制器测试指令时控制器未定义

未定义的angularJS控制功能错误

AngularJS:控制器中未定义工厂函数

AngularJS-ng-repeat中的表格在控制器中未定义

angularJS解决:在控制器“无法读取未定义的属性”目标”中

在控制器中未定义AngularJS模态对话框表单对象

AngularJS:指令将对象添加到 $scope 但在控制器中未定义

控制器xxx不是AngularJS中未定义的函数

scope()函数在AngularJS控制器中返回未定义

使用指令时ngModel未定义-AngularJS控制器

AngularJS-错误控制器不是函数,未定义

AngularJS控制器:无法设置未定义的属性“查询”

AngularJS:为什么我的控制器从服务调用中得到“未定义”?

AngularJS TypeScript控制器类指令中未定义作用域变量

AngularJs 1.5 ES6:控制器中未定义的绑定

AngularJS:为什么在我的ES6控制器中未定义$ scope?

在AngularJS指令中使用控制器中的ajax请求未定义作用域

AngularJS:注入控制器后,工厂始终是未定义的

AngularJS $ scope.foo设置了服务,但后来在同一控制器中未定义

AngularJS 1.7.9 从控制器到组件的绑定变量提供未定义的值

AngularJs中的未定义方法

rails link_to控制器方法未定义

控制器操作中的未定义方法new