Как объединить две строки в javascript?

Я хочу объединить две строки в angular 7.

функция:

getEmployment(id: number): Observable<Employment> {
    const url = '${this.EmploymentUrl}/${id}';
    return this.http.get<Employment>(url).pipe(
      tap(_ => this.log('fetched employment id=${id}')),
      catchError(this.handleError<Employment>('getEmployment id=${id}'))
    );
  }

Однако, когда я проверяю элемент в своем веб-браузере, он показывает, что {id} не найден.

Если я заменю вторую строку следующей, она будет работать нормально.

const url = this.EmploymentUrl + '/' + id;

После долгих поисков я не могу понять, почему первый метод не работает. Почему это не работает и в чем разница между двумя методами?

вы используете обратные кавычки? Из кода кажется, что вы используете цитату.

gunjit 22.05.2019 14:47

Чтобы шаблонные литералы работали (${id}), вам нужно использовать обратные кавычки (`) вместо одинарных кавычек (')

ShamPooSham 22.05.2019 14:49

@gunjit о ничего себе, это решило это. Спасибо

KHans 22.05.2019 14:50
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
0
4
72
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Вы должны использовать `` вместо кавычек. больше информации здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

getEmployment(id: number): Observable<Employment> {
        const url = `${this.EmploymentUrl}/${id}`;
        return this.http.get<Employment>(url).pipe(
          tap(_ => this.log(`fetched employment id=${id}`)),
          catchError(this.handleError<Employment>(`getEmployment id=${id}`))
        );
      }

Поскольку вы используете кавычки (') вместо обратной кавычки (`)

getEmployment(id: number): Observable<Employment> {
    const url = `${this.EmploymentUrl}/${id}`;
    return this.http.get<Employment>(url).pipe(
      tap(_ => this.log('fetched employment id=${id}')),
      catchError(this.handleError<Employment>('getEmployment id=${id}'))
    );
  }

Ответ был просто в том, что я должен использовать рюкзаки (`) вместо одинарных кавычек (')

Вот так:

 const url = `${this.EmploymentUrl}/${id}`;

рюкзаки или галочки? :-)

ConnorsFan 22.05.2019 15:00

Или вы можете просто выполнить простое преобразование строк, например

const url:string = this.Employment+'/'+id; // id will be converted into a string

Другие вопросы по теме