Я не могу понять, что случилось. Мне нужно создать массив часов и минут и показать ему.
HTML:
<div ng-app="test">
<div ng-controller="timeCtrl" ng-init="opentime='9';closetime='24'">
<div ng-repeat="time in times">
<a href="#">{{time}}</a>
</div>
</div>
</div>
JS:
var app = angular.module('test', []);
app.controller('timeCtrl', ['$scope', function ($scope) {
$scope.$watch('opentime', function() {
$scope.times = [];
for (var hours = $scope.opentime; hours < $scope.closetime; hours++) {
console.log(hours);
for (var minutes = 0; minutes < 4; minutes++) {
var linkMinutes = minutes * 15;
if (linkMinutes === 0) {
linkMinutes = "00";
}
console.log(linkMinutes);
$scope.times.push(hours + ':' + linkMinutes);
}
}
});
}])
Почему console.log пуст, но вары opentime и closetime со значением?
Fiddle: http://jsfiddle.net/Zoomer/mj8zv2qL/
Спасибо, но я запутался. Без $ watch я не могу получить значения из ng-init? – user3843670
, потому что ng-init работает до того, как ваша директива регистрирует наблюдателей –