Vue.js怎么能像Angular.js一样配置templateUrl呢?

时间:2015-10-10 10:23:33

标签: javascript angularjs mvvm angular-ui-router vue.js

我喜欢Vue.js的简单性,但我不想用browserify或webpack来复杂化它。我更喜欢Angular中的templateUrl,所以我可以直接使用Nginx来提供部分页面(通常是一个组件)。我怎么能设置这个?它没有正式建议,很难在那里得到帮助。

1 个答案:

答案 0 :(得分:10)

据我所知,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