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.
我喜欢 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.