>  기사  >  웹 프론트엔드  >  '밑줄 템플릿 렌더링 오류: 변수가 정의되지 않음'이 나타나는 이유는 무엇입니까?

'밑줄 템플릿 렌더링 오류: 변수가 정의되지 않음'이 나타나는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-23 10:05:17201검색

Why Am I Getting an

밑줄 템플릿 렌더링 오류: "변수가 정의되지 않음"

문제:

밑줄을 사용하려고 합니다. HTML을 렌더링하기 위한 템플릿이 있지만 "변수가 정의되지 않았습니다." 오류가 발생했습니다. 사용 중인 코드는 다음과 같습니다.

var V = Backbone.View.extend({
  el:'body',
  render: function () {
    var data = { lat: -27, lon: 153 };
    this.$el.html(_.template('<%= lat %> <%= lon%>', data));
    return this;
  }
});

var v = new V();

v.render();

답변:

문제는 Underscore 템플릿이 렌더링되는 방식에 있습니다. 이전 버전의 Underscore에서는 한 번에 템플릿을 구문 분석하고 채울 수 있었지만 최신 버전에서는 이것이 변경되었습니다.

오류를 해결하려면 다음을 수행해야 합니다.

  1. _.template을 사용하여 템플릿을 컴파일합니다.
  2. 반환된 함수를 실행하여 채워진 내용을 가져옵니다. template.

코드는 다음과 같습니다.

var V = Backbone.View.extend({
  el:'body',
  render: function () {
    var data = { lat: -27, lon: 153 };
    var tmpl = _.template('<%= lat %> <%= lon%>');
    this.$el.html(tmpl(data));
    return this;
  }
});

var v = new V();

v.render();

이 업데이트된 코드는 제공된 데이터를 사용하여 템플릿을 올바르게 렌더링합니다.

위 내용은 '밑줄 템플릿 렌더링 오류: 변수가 정의되지 않음'이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.