代码之家  ›  专栏  ›  技术社区  ›  Nic Bonetto

未渲染简单Vue组件

  •  0
  • Nic Bonetto  · 技术社区  · 7 年前

    我正在努力学习Vue。JS,我制作的组件没有在页面上呈现。这是我的组件:

    import Vue from 'vue'
    
    const card = new Vue({
      el: '#card',
      data: {
        title: 'Dinosaurs',
        content: '<strong>Dinosaurs</strong> are a diverse group of animals 
    from the clade <em>Dinosauria</em> that first appeared at the Triassic 
    period.'
      }
    })
    

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title>Vue Practice</title>
      </head>
      <body>
        <div id="card">
          <header>{{ title }}</header>
          <div v-html="content"></div>
        </div>
        <script src="bundle.js"></script>
      </body>
    </html>
    

    这是包裹。json(我知道大多数依赖项都属于devdependences):

        {
          "name": "vue-practice",
          "version": "1.0.0",
          "description": "",
          "main": "index.js",
          "scripts": {
            "bundle": "browserify -t babelify -t vueify -e main.js > 
                       bundle.js",
            "test": "echo \"Error: no test specified\" && exit 1"
          },
          "keywords": [],
          "author": "",
          "license": "ISC",
          "dependencies": {
            "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
            "babelify": "^7.3.0",
            "browserify": "^14.4.0",
            "vue": "^2.4.2",
            "vueify": "^9.4.1"
          },
          "devDependencies": {}
        }
    

    当我加载索引时。html在浏览器中呈现的是{{title}},我没有收到任何错误。如果您能解释为什么会发生这种情况,我们将不胜感激!

    1 回复  |  直到 7 年前
        1
  •  2
  •   tony19 Ashutosh Narang    2 年前

    vueify *.vue 文件夹, index.html 为了在浏览器中编译模板( https://v2.vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only ).

    覆盖此类内容的一个好方法是使用 vuejs-template https://github.com/vuejs-templates/browserify

    但是,由于您已经完成了几乎所有的工作,您只能添加编译器包缺少的内容,如Vue指南中“Runtime+compiler vs.Runtime only”-“Browserify”一节所述。

    添加到您的 package.json

    {
        "browser": {
            "vue": "vue/dist/vue.common.js"
        },
    }
    

    这将告诉Browserify使用完整的(也称为独立的)Vue构建在浏览器上。


    另一种方法是不在中使用模板 指数html 而是在一个主要组件中,比如 App.vue