Ошибка в скрипте шаблона ember.js

131
01 июня 2019, 08:40

Необходимо было написать тестовую функцию в шаблоне Ember(.hbs) через тег script.

Код выглядит слещушим образом:

function showError(field_name, error)
{
    var target = $('[name="'+field_name+'"]');
    var root = target.parents('.field').first();
    var errCount = root.find('.focus-error').length;
    root.addClass('.has-error');
    target.addClass('.focus-error');
    if(errCount===0)
    {
        root.after('<div class="field-error">'+error+'</div>');
    }
    else
    {
        var fieldError = root.find('.field-error');
        var fieldText = fieldError.html();
        fieldError.html(fieldText+'<br>'+error);
    }
}

После обновления страницы появляется ошибка:

Invalid or unexpected token

Отладка ссылает на этот участок кода:

Если же удалить эту строку, то ошибка ссылается сюда:

Если удалить и ее, то ошибка исчезает.

Собственно вопрос - с чем такое поведение связано и как это можно исправить?

Answer 1

Судя по всему проблема крылась в ember-cli. Оно реагировало на строки содержащие теги. Поэтому если, например, здесь:

root.after('<div class="field-error">'+error+'</div>');

удалить закрывающий тег:

root.after('<div class="field-error">'+error);

Уже ломалась компиляция приложения с отображением ошибки ember-cli на странице браузера. И эта ошибка срабатывала и в случае

var a = '<div class="field-error">'+error;

и

var a = '<div class="field-error">'+error+'</div>';

С чем конкретно была связана изначальная ошибка, понять не удалось, возможно защита от встраивания стороннего кода в ember, но решением стало перенести скрипт сразу в сервисы. После этого ошибка исчезла.

READ ALSO
Создание необычных форм из div и input [закрыт]

Создание необычных форм из div и input [закрыт]

Нужно получить что-то этого вида(форма авторизации на сайте) возможно ли такое сделать? подскажите пожалуйста как

161
Ползунок с возможностью ввода значений

Ползунок с возможностью ввода значений

Есть обычный ползунок на jQuery Uislide()

138
Как перехватить отправку формы

Как перехватить отправку формы

Есть страница, и на этой странице данные загружаются из другого файла с помощью ajaxТак вот как из загружаемых данных перехватить отправку...

168
Сохранение value для Audio mixer

Сохранение value для Audio mixer

Всем привет, подскажите как можно сохранить значение value для Audio mixer что бы при загрузки загружались сохранные настройки а не дефолтныеЯ пытался...

140