Связь данных сервиса и вьюхи
Доброго времени суток. Возникла такая проблема. У меня есть сервис (фабрика), которая отвечает за данные, и передает их в контроллер, который выводит их на экран. Суть проблемы в том, что сервис успешно обновляет данные, но информация на экране не изменяется.
Теперь код. Простейшая 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, время: 11:53. |