Просто обновите explorerObject
один больше времени после нажатия, потому что он все еще указывает на предыдущем объекте:
$scope.click = function() {
ExplorerService.setExplorerObject({
selected : {
name: 'Defined Now !',
id: 'id',
timestamp: 'timestamp'
},
templateURL: 'views/beispiel.html'
});
$scope.explorerObject = ExplorerService.getExplorerObject(); // <--- here
}
работы: http://plnkr.co/edit/UWE7o3mtAzY3xzYRWfkf?p=preview
После вопроса»редактирования:
вы может использовать $watch
у вашего второго контроллера:
app.controller('SecondCtrl', function($scope, ExplorerService) {
$scope.$watch(function(){
return ExplorerService.getExplorerObject();
},function(n,o){
$scope.explorerObject = ExplorerService.getExplorerObject();
},true)
});
Рабочая: http://plnkr.co/edit/8mZO5kZmTrqwHKnxtBSd?p=preview
Или использовать $broadcast
подход, как:
app.controller('SecondCtrl', function($scope, ExplorerService) {
$scope.explorerObject = ExplorerService.getExplorerObject();
$scope.$on("EXPLORER_OBJECT_CHANGED" ,function(event,obj){
$scope.explorerObject = obj;
});
});
И в надстройке услуги: $rootScope.$broadcast("EXPLORER_OBJECT_CHANGED", explorerObject);
Пример: http://plnkr.co/edit/9WKypJTb0wViQZ01m9TN?p=preview
Я сожалею, что мой пример точно не представляла проблему, которую я имею. Я обновил его сейчас. Спасибо за ваш ответ. [Plunker] (http://plnkr.co/edit/8rREFdLKvznaNLlaj6Hm) – strangfeld
@strangfeld ok, посмотрите мое обновление – Cherniv
, какой подход более результативен/дешевле? – strangfeld