Solved! Changes is listed as follows. Actually, $timeout is a wrapper of setTimeout in angularJS, it seems to be same, but i still don't know why it doesn't work…
<javascript>
//$timeout(function(){
//$scope.formProperties.splice(index + -1, 0, temp);
//}, 100);
setTimeout(function () {
$scope.$apply(function () {
$scope.formProperties.splice(index + -1, 0, temp);
});
}, 100);
</javascript>