我有一個代碼負責排序控制器中的元素。 下面是代碼:
$scope.$watch('applications', function (applications) {
if (angular.isArray(applications) && applications.length !== 0) {
var landing_app = _.findWhere(applications, {
area_name : $scope.landingAreaName
});
applications = _.reject(applications, function(app){
return app.id == landing_app.id;
});
applications.unshift(landing_app);
}
});
當我console.log
的applications
變量 - 它具有的元件的正確順序。但它並沒有保留在視圖中。這裏有什麼問題?
更新:
,當我使用此代碼:
$scope.$watch('applications', function (applications) {
if (angular.isArray(applications) && applications.length !== 0) {
applications.sort(function (a) {
return a.area_name !== $scope.landingAreaName;
});
}
});
它確實改變應用程序的順序,但它不是我想要的順序。
您正在重新分配來自外部作用域的'applications'變量,這種情況很可能是'$ scope.applications'和'applications'指向不同的對象。您能否在代碼片段或jsfiddle中提供最小的完整代碼示例? –
請增加更多導致'$ scope.application'變化的代碼。 –