Мне может не хватать чего-то глупого, поскольку этот простой код работает не так, как ожидалось. Что не так, функция $scope.change
в MainCtrl не работает (окно предупреждения не появилось).
Вкратце, вид (это в нефрите, лучше просмотреть?)
<body ng-app="epfApp">
...
label(ng-repeat="question in questions")
| {{ question.title }}
input(type="{{question.type}}", ng-change="change()")
и в файле контроллера
angular.module('epfApp')
.controller('MainCtrl', function ($scope, $window) {
$scope.questions = {
'1': {
'title': 'The first question is?',
'type': 'text',
'placeholder': 'first question'
},
'2': {
'title': 'The second question is?',
'type': 'text',
'placeholder': 'second question'
}
};
$scope.change = function() {
$window.alert('text');
};
});
И маршрут:
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
});
Теперь то, что он делает правильно, состоит в том, что он правильно заполняет представление с помощью созданных данных (т.е. вопросов json). Однако, что он не делает правильно, функция change()
, связанная с текстовым полем ввода, не работает.
Что мне здесь не хватает? Это, очевидно, очень простая работа.