Vue.js 怎么可能像 Angular.js 那样配置 templateUrl?

How could Vue.js have templateUrl configure just like Angular.js do?

我喜欢 Vue.js 的简单,但我不想用 browserify 或 webpack 把它复杂化。我更喜欢 Angular 中的 templateUrl 之类的东西,这样我就可以直接使用 Nginx 提供部分页面(通常是组件)。我怎么能设置这个?官方不推荐,很难得到帮助

据我所知,Vue 没有为此专门内置任何内容,但如果你愿意,你可以使用 async components 来伪造它。

Vue.component('example', function (resolve, reject) {
  $.get('templates/example.html').done(function (template) {
    resolve({
      template: template
    })
  });
});

您也可以在 HTML 中执行类似的操作。

<div id="app"></div>

<template id="example">
  <div>
    <h1>{{ message }}</h1>
  </div>
</template>

那么你可以这样做:

new Vue({
  el: '#app',
  components: {
    example: {
      template: '#example',
      data: function () {
        return {
          message: 'Yo'
        }
      }
    }
  }
});

不过,我认为花时间熟悉 browserify 或 webpack 是非常值得的投资。特别是因为您可以使用 vueify.