我使用有角度的 md-virtual-repeat 来加载我的容器中的列表,并且其工作正常,因为列表未被更改。当我更新特定活动ID的列表时, $ scope.listings 会正确更新,但列表不会在视图中更改。当我滚动时,它们会更新。
似乎它没有获得数据更改的触发器。有没有解决方案在数据更新时刷新 md-virtual-repeat ?
<div id="listingsScrollArea" md-virtual-repeat-container>
<table>
<tbody id="listings_body">
<tr md-virtual-repeat="listing in listings | listingsSort:sortType:sortReverse:searchFields:filterListingsBy:false" class="repeated-item" ng-click="dosomething(listing)">
<td ng-if="listing.isListing">{{ ::listing.x }}</td>
...
<td ng-if="listing.isListing">{{ ::listing.y }}</td>
</tr>
</tbody>
</table>
</div>
ListingsController方法获取列表。通过重新运行此方法来更新列表。
$scope.getListings = function(event_ids, pageNo) {
var deferred = $q.defer();
$scope.isListingsLoading = true;
ListingsFactory.getListings(event_ids, pageNo).then(function(data) {
$scope.listings = data.data;
$scope.listings_info = data.info;
$scope.isListingsLoading = false;
deferred.resolve(data);
}, function(data) {
deferred.reject(data);
});
return deferred.promise;
};
答案 0 :(得分:2)
您似乎正在使用一次性绑定。这与md-virtual-repeat不能很好地融合。尝试更改此内容:
<td ng-if="listing.isListing">{{ ::listing.x }}</td>
进入这个:
<td ng-if="listing.isListing">{{ listing.x }}</td>
希望这有帮助。
答案 1 :(得分:0)
试试这个,
DateTime myDate = DateTime.Now; //suppose 2016-03-29 16:12:00
strSerialized = JsonConvert.SerializeObject(myDate);
//DO WHAT YOU NEED WITH IT...
DateTime myDateDes = JsonConvert.DeserializeObject<DateTime>(strSerialized);
Label1.Text=myDateDes.ToString();//NO need to convert to LocalTime... it already gives you 2016-03-29 16:12:00 !!! CORRECT !