我有一个跟随控制器
app.controller('MainController', function($scope, $interval,$mdToast, $document, $mdDialog,$timeout,$mdDialog) {
var stops=[
{
stopName:"testinput1",
noOfStudents:2
},
{
stopName:"testinput2",
noOfStudents:2
},
{
stopName:"testinput3",
noOfStudents:4
}
];
$scope.list=stops;
$scope.addStop=function(name,noOfstudent){
stops.push({
stopName:name,
noODstudent:noOfstudent
})
$scope.list=stops;
}
});
在我看来,我有以下代码,
<md-list id="stopList">
<md-list-item class="md-3-line" ng-repeat="item in list" style="background:rgb(233, 233, 233);margin:10px;padding-left: 10px;position: relative;min-height: 60px;">
<div class="md-list-item-text">
<h3>{{item.stopName}}</h3>
<h4>{{item.noOfStudents}}</h4>
</div>
<div ng-show="deleteIcon" ng-click="showConfirm($event);" class='delete_icon'></div>
</md-list-item>
</md-list>
我面临的问题是当我添加一个停止时,ng-repeat列表不会更新。我希望在添加停止时更新视图。我从角度材料对话框中获取用户输入。
答案 0 :(得分:1)
在控制器中更新数据后,数据将在视图中自动更新。您遇到的问题(可能是)是addStop函数中的拼写错误。
更新列表时使用了两个点。 &GT;&GT; $scope..list=stops;
答案 1 :(得分:1)
您无需按stop
直接推送到$scope.list
当在列表中分配停止时,它将分配参考如果一个被更新,另一个也将
$scope.list=stops;
喜欢这个
$scope.list.push({
stopName: name,
noODstudent: noOfstudent
})
答案 2 :(得分:0)
试试这个
$scope.addStop = function (name, noOfstudent) {
stops.push({
stopName: name,
noODstudent: noOfstudent
});
$timeout(function () {
$scope.list = [];
$scope.list = stops;
}, 0);
};
答案 3 :(得分:0)
这是一个plnkr: http://plnkr.co/edit/HlzxQ9sqbMbxDiraT22z?p=preview 似乎对我有用
var name = 'l'
var noOfStudents = 5
$scope.addStop=function(){
stops.push({
stopName:name,
noOfStudents:noOfStudents
})
$scope.list=stops;
}
我使用过静态数据,但应该没有任何问题