Я создаю новое приложение с нокаутом, и у меня очень странная ошибка. Я использую нокаут какое-то время и никогда не имел этой ошибки раньше.Нокаут неожиданный идентификатор "."
Всякий раз, когда я пытаюсь использовать «$ root». pseudoselector, Нокаут возвращает меня:
Uncaught SyntaxError: Unable to parse bindings.
Bindings value: click: .createAlarm
Message: Unexpected token .
В этом случае связывание:
<button class='btn' data-bind='click: $root.createAlarm'>New alarm</button>
То же самое произошло, когда я пытался сослаться на функцию ViewModel внутри Еогеасп связывания.
Вот мой код:
function ViewModel() {
var self = this;
// data
// set initial time for alarm
self.alarmHour = ko.observable(moment().hours());
self.alarmMinute = ko.observable(moment().minutes());
self.alarmSecond = ko.observable(moment().seconds());
self.chosenAlarmTrack = ko.observable();
self.alarms = ko.observableArray();
// methods
self.createAlarm = function() {
var timeNow = moment()
var alarmTime = getNewTime(self.alarmHour(), self.alarmMinute(), self.alarmSecond());
var alarmTime = moment(alarmTime)
if (timeNow.isAfter(alarmTime)) {
alarmTime.add(1, "day");
}
self.alarms.push(new Alarm(alarmTime, self.chosenAlarmTrack()))
}
}
$(document).ready(function() {
var vm = new ViewModel();
ko.applyBindings(vm);
})
Какой тип веб-сервер/хостинг провайдера/обратный прокси-сервер вы используете? Из сообщения об ошибке кажется, что что-то удалило текст '$ root' из вашего HTML ... – nemesv
Я использую localhost. Я думал, что это может быть некоторая проблема с кодировкой, но, похоже, не –
Действительно, в HTML, $ root не существует. Я использую PHP –