我有一个angular.js表(使用智能表模块/插件),我试图根据在窗口中设置的一些数据更新它,特别是如何设置数据。
window.checker={};window.checker.checked = [{'ip':9,'port':0}]
然后我尝试使用下面的代码将该数据加载到我的angular.js表中
angular.module('myApp', ['smart-table'])
.controller('mainCtrl', ['$scope', function ($scope) {
setInterval(x($scope), 1000)
function x($scope){
function createRandomItem(ip, port) {
var
firstName = ip,
lastName = port,
age = Math.floor(Date.now() / 1000)
return{
firstName: firstName,
lastName: lastName,
age: age
};
}
$scope.displayed = [];
if (window.checker && window.checker.checked) {
for (var j = 0; j < window.checker.checked.length; j++) {
$scope.displayed.push(createRandomItem(window.checker.checked[j].ip, window.checker.checked[j].port));
}
}
}
}])
.directive('stRatio',function(){
return {
link:function(scope, element, attr){
var ratio=+(attr.stRatio);
element.css('width',ratio+'%');
}
};
});
理论上它应该自动抓取window.checker.checked并填写结果,在某条线下没有发生,我目前对棱角的知识并没有帮助我找到任何解决方案。
答案 0 :(得分:1)
我在这一行中看到了潜在的问题
setInterval(x($scope), 1000)
setInterval
期望获得对函数的引用,但是在这里你直接调用它。您可以通过将x
定义放入匿名函数或仅将x
定义为函数回调直接在setInterval