Связь данных сервиса и вьюхи
Доброго времени суток. Возникла такая проблема. У меня есть сервис (фабрика), которая отвечает за данные, и передает их в контроллер, который выводит их на экран. Суть проблемы в том, что сервис успешно обновляет данные, но информация на экране не изменяется.
Теперь код. Простейшая HTML структура <!DOCTYPE html> <html lang="ru" ng-app="app"> <head> <meta charset="UTF-8"> <title>Тестируем сервис</title> <script src="bower_components/angular/angular.min.js"></script> <script src="js/app.js"></script> </head> <body ng-controller="testCtrl"> <p>{{data}}</p> </body> </html> var app = angular.module('app', []); app.factory('dataService', function () { var data = { number: 1 }; function changeData() { var number = Math.floor(Math.random( ) * (359+1)); data.number = number; }; setInterval(changeData,1000); return data; }); app.controller('testCtrl', function ($scope, dataService) { console.log(dataService); $scope.data = dataService.number; }); |
Цитата:
Возьми за основу мой пример, потом используй свою фабрику... <!DOCTYPE html> <html ng-app="app"> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <script src='http://code.jquery.com/jquery-latest.js'></script> <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <!-- <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> <link rel='stylesheet type=text/css href=tmp.css' /> <link rel="stylesheet/less" type="text/css" href="style.less"> <script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script> --> <style type='text/css'> </style> <script type='text/javascript'> var app = angular.module('app', []); app.controller( 'ctrl', [ '$scope', '$interval', function($scope,$interval) { $scope.data=1; $interval(function(){ $scope.data=Math.floor(Math.random( ) * (359+1)); },1000); } ] ); </script> </head> <body ng-controller="ctrl"> <p>{{data}}</p> </body> </html> |
Часовой пояс GMT +3, время: 10:37. |