我正在尝试获取页面上的链接,以基本上从数据库加载数据块,然后对该数据执行函数。从数据库中收集数据的方法有效(如果我在单击链接后在浏览器中单步执行,我可以看到它),问题是用于处理数据的方法将其视为“未定义”。 .这对我来说似乎是一个范围界定的事情,但我不确定我做错了什么。目前我在 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] 删除。
我来说两句