草庐IT

javascript - Vue js 2-无法安装组件 : template or render function not defined

coder 2024-05-06 原文

我有一个组件:

<player-info :data="player"></player-info>

我想使用 vue-mask-input plugin作为子组件:

<masked-input v-model="date" mask="11 / 11 / 1111" placeholder="Date">

这是整个组件:

<template>
  <div id="info" class="player-info-card-content section-card">
    <div class="row">
      <div class="col-12">
        <h5 class="section-title"><i class="ion-ios-list-outline title-icon"></i> Overview</h5>
        <button @click="edit = !edit" class="button edit-button-wrapper">
          <i v-if="!edit" class="ion-edit edit-button"></i>
          <i v-if="edit" class="ion-close edit-button"></i>
        </button>
        <hr class="info-title-hr">
      </div>
    </div>
    <div class="row info-content">
      <div class="col-12">
        <div class="row">
          <div class="col-6 col-md-3 player-info-data">
            <div class="row">
              <div class="col-12 info-box">
                <span class="info-label">Born</span>
                <p v-if="!edit">{{ player.birthday }}</p>
                <!--
                <input v-if="edit" type="text" v-mask="'999.999.999-99'">
                <input class="info-data-input" v-if="edit" name="birthday" v-model="player.birthday" value="{{ player.birthday }}">
                -->
                <div><masked-input v-model="date" mask="11 / 11 / 1111" placeholder="Date"></div>
              </div>
            </div>
          </div>
          <div class="col-6 col-md-3 player-info-data">
            <div class="row">
              <div class="col-12 info-box">
                <span class="info-label">Club</span>
                <p v-if="!edit">{{ player.club }}</p>
                <input class="info-data-input" v-if="edit" name="club" v-model="player.club" value="{{ player.club }}">
              </div>
            </div>
          </div>
          <div class="col-6 col-md-3 player-info-data">
            <div class="row">
              <div class="col-12 info-box">
                <span class="info-label">Position</span>
                <p v-if="!edit">{{ player.position }}</p>
                <input class="info-data-input" v-if="edit" name="position" v-model="player.position" value="{{ player.position }}">
              </div>
            </div>
          </div>
          <div class="col-6 col-md-3 player-info-data">
              <div class="row">
                <div class="col-12 info-box">
                  <span class="info-label">Height</span>
                  <p v-if="!edit">{{ player.height }} <span v-if="player.height != ''"></span></p>
                  <input class="info-data-input" v-if="edit" name="height" v-model="player.height" value="{{ player.height }}">
                </div>
            </div>
          </div>
          <div class="col-6 col-md-3 player-info-data">
            <div class="row">
              <div class="col-12 info-box">
                <span class="info-label">Weight</span>
                <p v-if="!edit">{{ player.weight }} <span v-if="player.weight != ''">kg</span></p>
                <input class="info-data-input" v-if="edit" name="weight" v-model="player.weight" value="{{ player.weight }}">
              </div>
            </div>
          </div>
          <div class="col-6 col-md-3 player-info-data">
            <div class="row">
              <div class="col-12 info-box">
                <span class="info-label">Foot</span>
                <p v-if="!edit">{{ player.foot }}</p>
                <input class="info-data-input" v-if="edit" name="foot" v-model="player.foot" value="{{ player.foot }}">
              </div>
            </div>
          </div>
          <div class="col-6 col-md-3 player-info-data">
            <div class="row">
              <div class="col-12 info-box">
                <span class="info-label">Agent</span>
                <p v-if="!edit">{{ player.agent }}</p>
                <input class="info-data-input" v-if="edit" name="agent" v-model="player.agent" value="{{ player.agent }}">
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="row sub-section">
      <div class="col-12">
        <h5 class="title-margin section-title">
          <i class="ion-ios-stopwatch-outline title-icon"></i>
          Athletic performance
        </h5>
        <hr class="info-title-hr">
      </div>
    </div>
    <div class="row info-content">
      <div class="col-6 col-md-3 player-info-data">
        <div class="row">
          <div class="col-12 info-box">
            <span class="info-label">40m time</span>
            <p class="lg-strong-font">4.3<span>s</span></p>
          </div>
        </div>
      </div>
      <div class="col-6 col-md-3 player-info-data">
        <div class="row">
          <div class="col-12 info-box">
            <span class="info-label">100m time</span>
            <p class="lg-strong-font">11.1<span>s</span></p>
          </div>
        </div>
      </div>
      <div class="col-6 col-md-3 player-info-data">
        <div class="row">
          <div class="col-12 info-box">
            <span class="info-label">Vertical jump</span>
            <p class="lg-strong-font">65<span>cm</span></p>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
  import MaskedInput from 'vue-masked-input';
  export default {
      props: ['data'],
      data () {
          return {
            player: this.data.data,
            edit: false,
            date: '',
          }
      },
      computed: {
          link() {
            return `/player/info/edit/${this.player.id}`;
          }
      },
      components: {
        MaskedInput
      }
  }
</script>

在更新到 Vue v.2.4.4 之前,我一直收到警告,它是一个片段实例:

[Vue warn]: Attributes "v-model", "mask", "placeholder" are ignored on component because the component is a fragment instance:

将 Vue 更新到 v.2.4.4 后警告消失了,但我得到了一个新错误:

[Vue warn]: Failed to mount component: template or render function not
 defined.

 found in

 ---> <MaskedInput>
        <PlayerInfo>
          <Player>
            <Root>

这是我页面上的父组件:

<div><player :player="{{ $player }}" :videos="{{ $videos }}"></player></div>

这个父组件由这个子组件组成:

<template>
  <div class="row">
    <div class="col-md-3">
      <div>
        <player-card :data="player"></player-card>
      </div>
    </div>
    <div class="col-md-9">
      <div>
        <player-info :data="player"></player-info>
      </div>
      <div>
        <player-videos :data="videos"></player-videos>
      </div>
      <div>
        <player-stats :player="player.data.seasons"></player-stats>
      </div>
    </div>
  </div>
</template>

我像这样导入 Vue:

import Vue from 'vue/dist/vue';
window.Vue = Vue;

这就是我创建 Vue 实例的方式:

const app = new Vue({
    el: 'body',
    data: window.videoApp
});

我做错了什么,我该如何解决?

最佳答案

您不能选择 body 标签作为为您的 vue 实例创建 div 所需的主要元素。您需要像这样创建 vue 实例;

const app = new Vue({
  el: '#app',
  data: {
    // Some data...
  },
  methods: {
    // Your methods...
  }
})

您的 html 文件应如下所示;

...
<body>
  <div id="app">
    <!-- Vue instance selects and creates components in this div -->
  </div>
</body>

关于javascript - Vue js 2-无法安装组件 : template or render function not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46461997/

有关javascript - Vue js 2-无法安装组件 : template or render function not defined的更多相关文章

  1. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  2. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  3. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  4. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  5. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  6. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  7. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  8. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  9. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  10. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

随机推荐