Javascript 设置超时时智能表未刷新
与表格生成相关的代码在以下函数中不起作用Javascript 设置超时时智能表未刷新,javascript,angularjs,smart-table,Javascript,Angularjs,Smart Table,与表格生成相关的代码在以下函数中不起作用 function populateDataTable(repo_contributor,repo_langauges){ $scope.rowCollection = [ {firstName: 'Laurent', lastName: 'Renard', birthDate: new Date('1987-05-21'), balance: 102, email: 'whatever@gmail.com'}, {
function populateDataTable(repo_contributor,repo_langauges){
$scope.rowCollection = [
{firstName: 'Laurent', lastName: 'Renard', birthDate: new Date('1987-05-21'), balance: 102, email: 'whatever@gmail.com'},
{firstName: 'Blandine', lastName: 'Faivre', birthDate: new Date('1987-04-25'), balance: -2323.22, email: 'oufblandou@gmail.com'},
{firstName: 'Francoise', lastName: 'Frere', birthDate: new Date('1955-08-27'), balance: 42343, email: 'raymondef@gmail.com'}
];
for (var key in repo_contributor){
console.log(repo_contributor[key]);
var repo_table_data = {};
repo_table_data['repo_name'] = key;
repo_table_data['contributors'] = repo_contributor[key].toString();
repo_table_data['languages'] = repo_langauges[key].toString();
console.log(repo_table_data);
$scope.repo_info_list.push(repo_table_data);
}
console.log("here now");
console.log($scope.repo_info_list.length);
}
populateDataTable正在由以下代码填充
setTimeout(populateDataTable,4000,$scope.repo_contributor,$scope.repo_languages);
$scope.rowCollection
正在设置,但未显示在表上(表为空)
但是,如果将$scope.rowCollection
放置在已填充数据表
之外,则该表将填充正确的值
非常感谢您的帮助。您必须这样尝试
setTimeout(function() {
populateDataTable($scope.repo_contributor,$scope.repo_languages);
}, 4000)
在setTimeOut中,尝试如下箭头函数:
setTimeout( ()=> {
populateDataTable($scope.repo_contributor,$scope.repo_languages);
}, 3000)
正如Hadi所提到的,setTimeout不起作用,但是$timeout和函数参数起作用 i、 e
为此使用
$timeout
函数,而不是setTimeout
。因此将其注入控制器。非常漂亮!它就像一个符咒!非常感谢。
$timeout(populateDataTable, 4000,true,$scope.repo_contributor,$scope.repo_languages)