0
我一直在使用優秀的ngStorage角度插件。
當設置它,你可以聲明連接到localstorage
這樣的$scope-node
:
$scope.$store = $localStorage;
$scope.$store
現在是在所有控制器等
我想從localstorage
和訪問刪除一些東西訪問它使用廣播代替。
在我的init我進行:
$scope.taskarr = [];
$rootScope.$broadcast('taskarrbroad',$scope.taskarr);
什麼,以便需要add
,remove
和$watch
這個陣列,沒有提及似乎工作。
這裏,什麼都不會發生
controller('textController', function($scope,$routeParams){
$scope.$watch('taskarrbroad.length', function(){
console.log($scope.taskarr.map(function(task){
return task.content;
}).join('\n'));
})
})
在這裏,我可以訪問$scope.taskarr
和更新,但視圖不更新。 $scope.$apply()
都於事無補(超時是因爲它已經是一個消化內。
controller('stateSwitchController', function($scope, $routeParams, $timeout){
$scope.taskarr = $scope.$store[$routeParams.state].taskarr || [];
console.log($scope.taskarr);
$timeout(function() {
$scope.$apply();
})
}).
「我現在預計它可以添加,刪除和$觀看這個數組」。爲什麼?僅僅因爲你使用'$ broadcast'? –
是的,那是我對廣播的理解(顯然是無效的),我可能會更清楚:爲了添加,刪除和$ watch,需要什麼。 – Himmators
'$ broadcast'用於引發應用程序中使用'$ on'處理的事件。這不是一個存儲機制。 –