vue el-upload 显示不了本地图片_vue使用小技巧以及完整版和非完整版区别

c43d2ef48896fbb0ff6d75d100579bed.png

一、关闭烦人的eslint-loader

新人在使用vue的时候,你是否遇到过这样的烦恼,

4d3c6a4e54623df92c7df1a221270f10.png

看到这个我瞬间懵逼了,这个是什么,真是烦死了,那么我们只需要关闭他的eslint-loader就好了,这个时候你首先会Google,但是里面的答案都是让你找到build文件里面的webpack.base.conf.js文件注释这些代码:

module: {
    rules: [
      // {
      //   test: /.(js|vue)$/,
      //   loader: 'eslint-loader',
      //   enforce: 'pre',
      //   include: [resolve('src'), resolve('test')],
      //   options: {
      //     formatter: require('eslint-friendly-formatter')
      //   }
      // },
      
      ...
     ]
     ...
   }

但是呀,我找得眼睛废掉也没有找到webpack.base.conf.js这个文件,那么我只好又Google,这次我换了一个方式,找到的让我找到.eslintrc.js这个文件,然后注释掉/*'@vue/standard' */注释掉这一行,但是我发现并没有什么用,这个时候我想到了文档,vue-cli的文档,我去找了一下,果然,我找到了

d88648cf6b0465f5280d41d6c559f32e.png

顺利解决了这个问题,只需要将'eslint:recommended'改成'eslint:warning'或者true然后重新npm run serve就可以了。

二、vue完整版和非完整版区别

7a2e77f3a37a63f9e9a47b430f838c2c.png
图片来自方应杭vue全解

一张图片总结所有区别。两个版本对应的链接都可以在bootcdn里面去找。

最佳实践:总是使用非完整版,然后配合vue-loader和vue文件。

思路:

1、保证用户体验,用户下载的js文件体积更小,但只支持h函数。

2、保证开发者体验,开发者可直接vue文件里面写HTML标签,而不写h函数。

3、脏活让loader做,vue-loader把vue文件里面 的HTML转为h函数。

三、template 和 render 怎么用

我们知道vue里面有三个标签,分别是:

1、template(可以写HTML标签的)

<template>
  <div id="app">
  {{n}}
  <button @click="add">+1</button>
  </div>
</template>

2、script(写视图以外的)

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
  name: 'app',
  data(){
    return {
      n:0
    }
  },
    methods:{
      add(){
        this.n += 1
      }
    }
  }

</script>

3、style(写css的)

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

那么,template和render到底有什么区别呢:

1、template是用html的方式渲染到页面的。render是用js的方式渲染到页面的。

2、render里有一个函数h,这个h的作用是将单文件组件进行虚拟DOM的创建,然后再通过render进行解析。h就是createElement()方法:createElement(标签名称,属性配置,children)。

3、template也是一种编译方式,只是最终也还是会通过render的方式再次编译。

4、render的性能比template的性能好很多且render函数优先级别大于template。

import demo from './demo.vue'
new Vue({
  el:'#app',
    render(h) {
      return h(demo)
    }
});

此外,我们用render去渲染页面的时候会出现SEO不友好,那应该怎么办呢?

其实方法很简单,就是在HTML页面里面写好title、description、keyword、h1、a这几个标签,但是不用担心他会在页面显示你不想要的,因为render会重新渲染页面的嘛。

原则:其实就是让浏览器的curl能得到页面的信息,使得SEO能正常工作就好了。

注意:Google能获取js创建的内容。

四、http://codesandbox.io

在用vue的时候我们会有很多配置需要创建,但是http://codesandbox.io呢,就可以让你一秒直接生成vue,开始编码,非常的方便快捷。

地址:https://codesandbox.io/s 注意:不要登陆

29b077ce8d0274609422b59531dd2821.png

a9198fb28987da1da2562f63e18c21f7.png

如果你想要下载代码怎么办呢,也有export to zip 下载一个压缩文件到本地。

完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于 `el-upload` 组件不显示的问题,可能有几种可能的原因。以下是一些常见的解决方法: 1. 确保已正确引入 Element-UI 组件库和样式文件。 ```javascript import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); ``` 2. 检查 `el-upload` 的 `el-button` 是否正确引用了 `type` 属性。 ```html <el-upload> <el-button type="primary">上传文件</el-button> </el-upload> ``` 3. 检查上传路径是否设置正确。 ```html <el-upload action="/your-upload-url"> <el-button type="primary">上传文件</el-button> </el-upload> ``` 4. 检查是否给 `el-upload` 组件设置了正确的 `name` 属性。 ```html <el-upload name="file"> <el-button type="primary">上传文件</el-button> </el-upload> ``` 5. 确认您是否在 `data` 中定义了上传文件的列表或绑定了 `file-list` 属性。 ```html <template> <el-upload :file-list="fileList" :on-success="handleSuccess" :on-remove="handleRemove" > <el-button type="primary">上传文件</el-button> </el-upload> </template> <script> export default { data() { return { fileList: [], }; }, methods: { handleSuccess(response, file, fileList) { console.log(response); console.log(file); console.log(fileList); }, handleRemove(file, fileList) { console.log(file); console.log(fileList); }, }, }; </script> ``` 请检查以上几点,看看是否能解决问题。如果问题仍然存在,请提供更多的代码和错误信息,以便更好地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值