相关疑难解决方法(0)

"$ attrs是readonly","$ listeners是readonly","避免直接改变道具"

我是Vue的新手.我正在尝试开发一个聊天应用程序,其中好友列表将显示在左侧菜单上,聊天框将显示在正文中.我正在使用ajax调用加载好友列表并根据好友ID路由到聊天框.这是代码示例.

<div class="chat-container clearfix" id="chat">
    <div class="people-list" id="people-list">
        <chatlist-component></chatlist-component>
    </div>

    <div class="chat">
       <router-view></router-view>
    </div>
</div> 
Run Code Online (Sandbox Code Playgroud)

聊天列表组件将从服务器加载好友列表.这是我的app.js文件;

Vue.use(VueRouter)

const router = new VueRouter({
  routes,
  linkActiveClass: "active"
});


    import ChatComponent from './components/ChatComponent';
    const routes = [
      { path: '/chat/:id/:name', component: ChatComponent , name: 'chat'}
    ];
    Vue.component('chatlist-component', require('./components/ChatlistComponent.vue'));

    const app = new Vue({
        el: '#chat',
        router
    });
Run Code Online (Sandbox Code Playgroud)

和聊天列表组件模板代码

<li class="clearfix" v-for="user in users">
                <img :src="baseUrl+'/img/default_image.jpeg'" alt="avatar" class="chat-avatar rounded-circle" />
                <router-link class="about" :to="{ name: 'chat', params: { id: user.id, name:user.name }}">
                    <div class="name">{{user.name}}</div>
                    <div …
Run Code Online (Sandbox Code Playgroud)

javascript vue-component vuejs2

7
推荐指数
2
解决办法
7280
查看次数

[Vue警告]:$ attrs是只读的。[Vue警告]:$ listeners为只读

我是Vuejs的新手,每次按下按键都会收到以下警告:

[Vue warn]: $attrs is readonly.

found in

---> <RouterLink>
       <HeaderComponent> at src\components\Header_Component.vue
         <App> at src\App.vue
           <Root>
Run Code Online (Sandbox Code Playgroud)

[Vue warn]: $listeners is readonly.

found in

---> <RouterLink>
       <HeaderComponent> at src\components\Header_Component.vue
         <App> at src\App.vue
           <Root>
Run Code Online (Sandbox Code Playgroud)

这些警告似乎根本不会影响可用性。我在任何地方都不会调用$ attrs或$ listeners,我不确定这些警告来自何处。

这是我的Header_Component.vue:

<template>
    <header class="header">
        <div class='nav nav-side nav-oneLine'>
            <a class='nav-link' href='#'><router-link @click.native="addClass(), setLogoTrue('project')" to='/Projects'>PROJECTS</router-link></a>
            <a class='nav-link' href='#'><router-link @click.native="addClass(), setLogoTrue('blog')" to='/Blog'>BLOG</router-link></a>
            <a class='nav-link' href='#'><router-link @click.native="addClass(), setLogoTrue('aboutme')" to='/Aboutme'>ABOUT ME</router-link></a>
            <a class='nav-link' href='#'><router-link @click.native="addClass(), setLogoTrue('resume')" to='/Resume'>RESUME</router-link></a>
        </div>
    </header>
</template>

<script lang="ts">
import Vue from 'vue'

export …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs2

5
推荐指数
1
解决办法
1603
查看次数

标签 统计

javascript ×2

vuejs2 ×2

vue-component ×1

vue.js ×1