我在jquery中做了一个简单的操作,我将文本附加到div中。我能够做到这一点 http://jsfiddle.net/naveennsit/rgeHe/ 但同样的事情我需要使用角度.js但它不附加数据..为什么?它怎么可能?这是我的plunker http://plnkr.co/edit/Vzq8yQdb52fJaE7Odv4X?p=preview
<!DOCTYPE html>
<html>
<head>
<link data-require="bootstrap-css@3.x" data-semver="3.2.0" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />
<script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
<script data-require="ui-bootstrap@0.10.0" data-semver="0.10.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.10.0.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="app">
<div ng-controller="cntrl">
<div ng-repeat="i in items">{{i}}</div>
</div>
</body>
<script>
var app=angular.module('app',[]);
app.controller('cntrl',function($scope,$interval){
$scope.items=[];
var i=0;
$interval(function(){
$scope.items.push("Hiii I am div");
$scope.apply();
},1000)
})
</script>
</html>
答案 0 :(得分:3)
您需要删除scope.$apply()
($ timeout已经调用摘要周期,并且当它正在进行时尝试调用摘要时最终会出现错误)并提供{{ {1}}在数组索引上,否则它将因重复键而失败,因为数组只包含它将自动作为键的字符串,并且使用相同的字符串将导致重复键。另一种方法是将其更改为包含字符串的对象数组。例如: - $timeout
track by
和
$scope.items.push({name: "Hiii I am div"});
<强> Demo 强>