javascript - Vue.js 工作流程(从 Vue.js 1 到 2)

标签 javascript vue.js vuejs2 vue-component

当 Vue.js 1 发布时,我遵循了 laracasts 的 Vue.js 类(class),并且我曾经做过这样的事情:

import Comments from './components/Comments.vue';
import Upload from './components/Upload.vue';

new Vue({
    el: 'body',

    components: {
            Comments,
            Upload,
            Preview,
            Algolia,
        },

    etc,
});

这使我能够在我的应用程序中“散布”组件。但我无法再绑定(bind)到正文,因为 Vue 替换了内容,并且还抛出一条错误消息,指出您不应绑定(bind)到正文或 html。

我学习了一些 Vue.js 2 类(class),但如何以 Vue.js 2 方式复制此工作流程?我喜欢绑定(bind)到主体,并可以选择使用自定义标签在各处放置组件。

最佳答案

我们使用相同的“洒水”方法,我们所做的只是将其从 'body' 更改为 '#app'

我们还在内部添加了一个包装元素,该元素具有此 id 来基本上复制 body。 (https://github.com/onespacemedia/project-template/blob/develop/%7B%7Bcookiecutter.repo_name%7D%7D/%7B%7Bcookiecutter.package_name%7D%7D/templates/base.html#L62)

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

我们使用 Jinja2 作为我们的模板语言,并且发现当 Jinja2 中无法解析的变量时,它会导致 Vue 失败,而且我认为 Vue 会尝试使用它。

我相信它会在初始渲染后获取#app内的所有内容并将其转换为虚拟dom。不过,这不会对我所看到的产生任何影响,因此您可以愉快地在 body 中添加包装类,并像 Vue 1 一样使用它

关于javascript - Vue.js 工作流程(从 Vue.js 1 到 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41959232/

相关文章:

css - 如何在 Vue.js 中使用/deep/或 >>> 或::v-deep?

javascript - 为什么我的组件模板没有出现在 Vue 中?

javascript - Facebook 权限 : How to check if the user has already allowed publish_stream for your application

javascript - 将值传递/存储到另一个函数或单击事件

events - 如何通过自定义指令修改 v-model 属性的值?

javascript - Vue.js 2.0 主实例

vue.js - V-bind 不在存储状态更改时更新类

javascript - 如何在 Vue 中从 graphql 数据集创建动态过滤?

javascript - 如何在 pyside qwebview 中从本地计算机加载 javascript?

javascript - 将从 Number.toString 生成的字符串转换为数字