Angularjs 如果我们有很多div,每个div在控制器的范围内都有一个卷轴,那么哪个卷轴会生效
在“按ID滚动到一个元素”中,如果我们有多个div,将影响哪个滚动,每个div在控制器的范围内都有一个滚动。在下面的示例中,如何将滚动设置为我刚才添加的最新项目?。任何帮助,谢谢 这是我的剧本:Angularjs 如果我们有很多div,每个div在控制器的范围内都有一个卷轴,那么哪个卷轴会生效,angularjs,scroll,location,anchor,element,Angularjs,Scroll,Location,Anchor,Element,在“按ID滚动到一个元素”中,如果我们有多个div,将影响哪个滚动,每个div在控制器的范围内都有一个滚动。在下面的示例中,如何将滚动设置为我刚才添加的最新项目?。任何帮助,谢谢 这是我的剧本: app.controller('MainCtrl', function($scope, $location, $anchorScroll) { var i = 1; $scope.people = [{"name": John, "items": [{ id
app.controller('MainCtrl', function($scope, $location, $anchorScroll) {
var i = 1;
$scope.people = [{"name": John,
"items": [{ id: 1, name: 'Item 1' }]},
{"name": Tom,
"items": [{ id: 1, name: 'Item 1' }]},
]
$scope.addItem = function (index){
i++;
$scope.people[index].items.push({ id: i, name: 'Item ' + i});
$location.hash('item' + i);
$anchorScroll();
};
这是我的html:
<div ng-controller = "MainCtrl" style="height:1000px; overflow:scroll">
<div ng-repeat="person in people" style="height:700px; overflow:scroll">{{person.name}}
<button ng-click="addItem($index)">Add Item </button>
<div style="height:500px; overflow:scroll"> //How to set this scroll to the latest item?
<ul>
<li ng-repeat="item in person.items" id="item{{item.id}}">{{item.name}}</li>
</ul>
</div>
</div>
</div>
{{person.name}
添加项
//如何将此滚动设置为最新项目?
- {{item.name}
经过一些简短的修复后,您提供的代码对我有效。
对于初学者来说,人名数组中的姓名应该用引号括起来,如下所示(第一个版本-可以工作,但在第二个版本中仍然存在HTML错误):
另一个问题是,您有非唯一的id属性,它们在HTML中应该是唯一的,如您在上所示:
- -
希望这有帮助。谢谢您的修复,但您误解了我的意思。这是我问题的另一个答案[链接]
$scope.people = [{"name": "John", //added quotes around John
"items": [{ id: 1, name: 'Item 1' }]},
{"name": "Tom", //added quotes around Tom
"items": [{ id: 1, name: 'Item 1' }]},
]
var i = 0;
$scope.people = [{"name": "John",
"items": []},
{"name": "Tom",
"items": []},
]
$scope.addItem = function (index){
i++;
$scope.people[index].items.push({ id: i, name: 'Item ' + i});
$location.hash('item' + i);
$anchorScroll();
};
$scope.addItem(0); //add the item to John -> the id is 1
$scope.addItem(1); //add the item to Tom -> the id is 2