我有一个对象调用$ scope.postsATraiter的数组,我得到了一个为每个帖子提供随机x y值的函数。
$scope.posAleatoire = function () {
var w = window.innerWidth;
var h = window.innerHeight;
for (var i = 0; i < $scope.postsATraiter.length; i++) {
var l = parseInt(Math.random() * (w - 200));
var t = parseInt(Math.random() * (h - 200));
$('#target'+i).css({
'left': l + 'px',
'top': t + 'px',
'height' : '200px'
})
}
}
这种方法很好但只有在我在这个函数中使用它时才能正常工作:
Posts.query({}, function() {
$scope.postsATraiter = $scope.posts;
$scope.posAleatoire();
});
这个函数在每个函数之前调用,她在我的数据库中获取所有帖子并将其存储到$ scope.postsATraiter中,如果我在我的代码中的其他地方使用posAleatoire它什么都不做,为什么?
如果可以提供帮助,我会发布HTML。
<div ng-repeat="post in posts track by post._id">
<div id="target{{$index}}">
答案 0 :(得分:0)
这是因为$scope.postsATraiter
依赖于$scope.posAleatoire()
,因此当您在该函数外调用$scope.postsATraiter
时,如果您要将值分配给$scope.posAleatoire()
,则无效。
在致电$scope.postsATraiter
之前,您必须修改#!/bin/bash
echo "hello1";
a=6;
b=2;
c=3;
d=$(($a+$b+$c));
sleep $d;
echo "hello2";
有一些值。