呈现HTML文件内容并将其分配给Object

时间:2017-06-15 13:24:30

标签: javascript jquery html

这是我最初的js看起来像

// template.js
file: {
  template : '<div><h2>Template</h2><p>My paragraph</p></div>';
}

但我需要将其创建为单独的html文件。

<!-- template.html -->
<div>
  <h2>Template</h2>
  <p>My paragraph</p>
</div>

现在我需要导入并将其分配给脚本的对象(模板)。任何想法如何做到这一点?

// template.js
file: {
  template : 'Content Here';
}

1 个答案:

答案 0 :(得分:1)

你必须通过AJAX获得它。这将是一个伪承诺(参见:Promise$.get()),该承诺通过文件内容解决:

$.get(templateUrl).then(...)

一个很好的例子是:

// assuming `file` is inside `options`
if (options.file.template == null && options.file.templateUrl != null) {
  $.get(options.file.templateUrl).then(function(html) {
    options.file.template = html
    // continue doing stuff with the newly received html...
  });
}

请注意我是如何将它们分成templatetemplateUrl的,但您不必这样做。

注意:如果您尝试使用promise的回调之外的结果,当您尝试访问它时可能会获得undefined(除非经过一段时间),因此您可能需要将代码组织到适应那个。