为了账号安全,请及时绑定邮箱和手机立即绑定

VueJS CDN 导入错误。未捕获的类型错误。Vue 组件不是一个函数

VueJS CDN 导入错误。未捕获的类型错误。Vue 组件不是一个函数

函数式编程 2023-07-14 15:34:49
我正在尝试运行这个 Reddit 克隆。我导入了不同类型的Vue CDN,<script src="https://unpkg.com/vue@next"></script>Uncaught TypeError: Vue.component is not a function"我不确定我是否导入了错误版本的 Vue,或者我在 jsfiddle 上的设置是否错误。var subreddit = Vue.component('subreddit',{template: '#subreddit',props: ['name'],data: function () {    return { posts: [] }},created: function(){    this.$http.get("https://www.reddit.com/r/"+ this.name +"/top.json?limit=3")    .then(function(resp){        this.posts=resp.data.data.children;    });}});完整代码在这里:https://jsfiddle.net/jm0vs2kn/22/
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您的脚本指向 Vue 版本 3 @next,该版本在全局 API 中进行了一些重大更改,要与 Vue 2 配合使用,

 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script>

您还应该在文档中创建一个 div,body然后<body><div id="app"></div> ...像这样安装 vue 应用程序new Vue({el: '#app'});

您的x-templates应在divid之外定义app,如下所示:

 <script type="text/x-template" id="subreddit">

        <div class="subreddit">

            <h2>{{ name | uppercase }}</h2>

            <ul class="item-list">

                <li v-for="obj in posts">

                    <post :item="obj"></post>

                </li>

            </ul>

        </div>

    </script>

<div id="#app">应该<div id="app">

并且.then(function(resp){应该是一个箭头函数.then((resp)=>{

下面的示例用于axios进行 ajax 调用。

查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信