Я очень новичок в Angular и как практика, я строю небольшой веб-сайт. На одной из страниц я хочу показать, сколько кнопок было нажато привязкой данных. Для этого, у меня есть этот контроллер
'use strict';
angular.module('angularApp')
.controller('MyCtrl', function ($scope) {
var timer = 0;
$scope.clicked = function() {
timer++;
console.log(timer);
return timer;
};
$scope.actualTime = $scope.clicked(timer);
});
Как для зрения, у меня есть:
<button type="submit" ng-click="clicked()" class="btn btn-success">Start</button>
<p>You clicked {{actualTime}} minutes ago.</p>
Контроллер привязан к представлению через $ routeProvider.
В идеале, всякий раз, когда я нажимаю на кнопку, значение {{actualTime}} должно увеличиваться. Но это почему-то не так. Насколько мне известно, он должен быть привязан (как к двусторонней привязке данных), поэтому не должно быть функции, которая будет обновлять DOM. Консоль.log обновляется с правильными приращениями, но DOM этого не делает. Кто-нибудь хочет объяснить, как это работает? Я читал ответы здесь, и большинство, если не все из них, слишком технические. Поврежденное объяснение действительно помогло бы. Благодаря!
ваш код кажется хорошим! $ Scope.clicked (timer) странно, ваш метод не принимает аргументов. Вы применили атрибут ng-controller для родительского элемента? или указали контроллер на маршруте? Может быть, неверное слово? – Digix
$ scope.actualTime = $ scope.clicked (таймер); никогда не будет выполнен, нет функции, нажатой с таймером внутри найдено – squiroid