早上好,
我试图从angularjs中的anther函数调用回调函数。
我的控制器看起来像
Get-ChildItem -Path C:\Share1 | Copy-Item C:\share2 -verbose -ErrorAction SilentlyContinue
当我尝试从 function LMSAppController($scope, LMSAppFactory,$http) {
$scope.branchSearch = function (code){
$scope.hidbranchcode = code;
$scope.gridOptions = {};
}
$scope.gridOptions = {
getData: LMSAppFactory.getTableData,
};
}
调用gridOptions
函数时,branchSearch
没有调用。请指出我的错误在哪里?
提前谢谢。
编辑:
gridOptions
现在函数正在调用..非常感谢@Jaromanda X先生。但现在我在控制台
中得到“function LMSAppFactory($http) {
var ajaxRequest = 'processRequest.jsp?';
var branchCode = document.getElementById("hidbranchcodeID").value ;
alert("branchCode===="+branchCode);
return {
getTableData: getTableData,
};
function getTableData(params, callback) {
$http.get(ajaxRequest + 'requestType=getRecords'+params+'&value=10').then(function (response) {
callback(response.data[1].LMSRecords, response.data[0].LMSRecordsCount);
});
}
}
”
答案 0 :(得分:0)
gridOptions
不是一个功能。它是一个对象。当您致电$scope.gridOptions = {};
时,它会将gridOptions
的值重置为空对象。如果你想制作gridOptions
函数,那就改变它。
$scope.gridOptions = function(){
return {
getData: LMSAppFactory.getTableData
}
}
现在像这样调用gridOptions
函数方法getData
$scope.branchSearch = function (code){
$scope.hidbranchcode = code;
$scope.gridOptions().getData();
}
答案 1 :(得分:0)
可能是您的response.data
是array of single object
。如下所示:
var data = [
{}
];
因此,如果您尝试访问data[1]
,则会返回undefined
。
<强>样本强>
var data = [{}];
console.log(data[1]); // undefined