如何使用Vue定义一个根组件,该根组件包装了我的整个代码,因此所有其他组件都是该根的后代?
基本上我想实现以下目标:
在application.html.erb中
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
<%= csrf_meta_tags %>
<%= stylesheet_pack_tag 'application' %>
</head>
<body>
<div id="root">
<%= yield %>
</div>
<%= javascript_pack_tag 'application' %>
</body>
</html>
然后在我的webpack入口点
...
import Vue from 'vue';
var app = new Vue({
el: '#root'
})
但是,当我这样做时,我收到一条Vue警告,内容为:
[Vue警告]:您正在使用Vue的仅运行时版本,而模板选项不可用。可以将模板预编译为渲染函数,也可以使用包含编译器的内部版本。
因此,据我所知,发生这种情况是因为我需要将vue组件放入.vue文件中,但是,如果这样做,我如何仍可以使用yield语句以“ rails way”的方式实现其余视图?
最后,我想,这一切都恢复到了如何在Rails中使用vuejs,仅webapack(无资产管道)来组织前端,但是仍然使用诸如yield之类的一些rails功能来呈现“正常”视图吗?
PS:我已经看到了使用webpack启动新项目时出现的hello world示例,但这很简单...
尝试添加vue: 'vue/dist/vue.js'
到您的webpack别名文件中。当我渲染不适合vue模板的普通模型(即基于动态内容)的组件模板时,我必须做同样的事情。
该职位由埃文你(Vue公司的创建者)介绍了通过这个运行时仅版本(这这是)链接具体来说,我们正在寻找该位是这样的:
仅运行时构建:由于它不包含编译器,因此您需要在编译步骤中预编译模板,或手动编写渲染函数。默认情况下,npm软件包将导出此构建,因为从npm中使用Vue时,您可能会使用编译步骤(使用Browserify或Webpack),在此期间vueify或vue-loader将执行模板的预编译。
这意味着我们通常使用的版本没有编译器,因此我们需要通过别名将其包括在内,然后才能访问:
独立构建:包括编译器和运行时。此功能基本上与Vue 1.x完全相同。
由于具有编译器,因此它可以按需要进行编译,因为它不属于标准Vue文件模板。
好吧,至少这是我对整个事情的看法:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句