我知道在 Angular 世界中,绑定数据比操作 dom 元素更好。但我想不出一种方法来实现“在时间轴中,单击一条推文,加载回复,单击另一条推文加载另一个回复”效果。
这是我想到的一些代码:
<div class="tweet" ng-repeat="tweet in tweets">
<div class="tweet-content">{{tweet}}</div>
<a class="button" ng-click="loadreplay()">load reply</a>
<div class="reply-container">{{reply}}</div>
</div>
如果我这样写控制器
app.controller('Test', function($scope){
$scope.tweets = ["foo", "bar"];
$scope.loadreplay = function(){
$scope.reply = "reply";
}
});
那么所有{{reply}}
字段都将填充“回复”,所以在这种情况下,操作 dom 元素是唯一的解决方案吗?还是一些更“有角度”的方式?