logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Vue 组件 data为什么是函数?

在创建或注册模板的时候,传入一个data属性作为用来绑定的数据。但是在组件中,data必须是一个函数,而不能直接把一个对象赋值给它。Vue.component('my-component', {template: 'OK',data() {return {} // 返回一个唯一的对象,不要和其他组件共用一个对象进行返回},})你在前面看到,在new Vue

Vue 实例暴露了一些有用的实例属性与方法

vm    ViewModel,一个 Vue 实例其实正是一个 MVVM模式中所描述的 ViewModel - 因此在文档中经常会使用 vm 这个变量名Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的数据属性区分。例如:var data = { a: 1 }var vm = new Vue({el: '#example',data: da

vue路由后界面没有变化,但是链接有

vue有个写法需要注意:如果是跳转到默认首页,router-link 应该写:to: "{path: ' / ' } "如果跳转到非默认首页的时候,router-link 应该写:to: "{path: ' about ' } "就是除了跳转到默认首页的情况下,其他的都要去掉开始的斜杠 /        ,是个坑,我踩了,祝你好运

vue中data必须是函数

看了好多博客论坛啥的,我比较笨不是很理解,包括我之前转载的一篇,不过我转载的我是看懂了,今天没事重新过了下官网,下面我们一起看看官网是如何给出解答的,这里面第一个他也用了return,但是和我们说的return不同,这个完全是为了躲避语法报错,我们也可以自己创建vue实例注册组件,然后多个地方同时注册,解释的还是很好的,我这里抛砖引玉下~~~通过 Vue 构造器传入的各种选项大多数都可

#前端
Failed to resolve directive: link报错

Failed to resolve directive: link  这个问题是因为vue 版本的问题,vue的版本升级后,取消了v-link 指定,取而代之的为 router-link 看起来更加语义化一些很简单:把 v-link   更换为  router-link  就行,具体的可以查看官方文档

vue中提示$index is not defined

今天学习Vue中遇到了一个报错信息:$index is not defined,是我写了个for循环在HTML中,然后是因为版本的问题下面是解决方法:原来的是 v-for="person  in  items"    v-on:click="deletePerson($index)"//这个仅仅适用于1.0版本,不要采坑了同学们这个在Vue1.0版本中式

vue打包npm run build时候界面报错

用coding-pages打开后显示Failed to loadresource: the server responded with a status of 404 (Not Found),解决方案:方案一:找到config里的index.js,打开修改assetsPublicPath为“./”方案二:或者把index.html文件

Vue.component使用注意事项

Vue.component使用的时候并不是随便使用的,我们要遵循一个原则:要在初始化根实例之前注册组件,例如;// 注册Vue.component('my-component', {template: 'A custom component!'})// 创建根实例new Vue({el: '#example'})渲染结果为:A custo

为什么在vue的组件中,data要用function返回对象呢?

对于这个问题很多小伙伴都问过。其实官方也有自己的说法,下面这个是官方的解答:当一个组件被定义, data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创建一个新实例后,我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象。其实也很好理解

vue中组件没显示,没报错,但是该显示的组件没有显示

vue中组件没显示,没报错,但是该显示的组件没有显示,这里面我们需要注意一个问题,就是 template (将要渲染的HTML)必须是包含在一个标签里面的,这个和react 比较像,是个小坑,所以他没有报错;最外层加个标签包起来就行

    共 14 条
  • 1
  • 2
  • 请选择