Vue初学跳坑
1. uncaught TypeError: Cannot read property '0' of undefined
<div class="home-module-wrap">
<image-preview :src="modules[0][0]['list'][0]['image']"></image-preview>
<div class="swiper-wrap-info" style="height:346px">
<swiper-container :items="modules[0][1]['list']"></swiper-container>
</div>
</div>
data: {
modules: ""
},
created() {
axios.get('/api/???').then( data => {
this.modules = data.modules
})
}
这分别是我的html代码和js代码,不知道你的代码是否和我相似,解决这个问题的方法是在图一的html中第一行加入v-if="modules"即可。原因是第一次渲染界面的时候module为'',去拿module['0']当然会抛出异常,我们在这之前验证一下就行了。
2. 操作v-for生成的DOM元素
假设你用ajax从后台拿到数据,用v-for展示在前台,现在需要操作v-for生成的第二行的元素你会怎么做?你是否碰到了操作不了的错误。
或者和我的需求一样,从后来拿来几张图片,用js插件Swiper生成一个图片轮播的banner,你会怎么做?你是否碰到了Swiper里只有1到2张图片,而且没有图片的分页,也无法滑动。
解决办法:
<div class="swiper-container banner">
<div class="swiper-wrapper">
<a v-for="banner in banners" :key="banner.id" class="swiper-slide" v-bind:href="banner.link">
<img class="banner-img" :src="banner.image | addDomain" alt="">
</a>
</div>
<div class="swiper-pagination"></div>
</div>
axios.get('/api/???').then( data => {
this.banners = data.banner
this.$nextTick( () =>
new Swiper('.banner', {
autoplay: 3000,
loop: true,
lazyLoading : true,
autoplayDisableOnInteraction: false,
pagination: '.swiper-pagination'
})
)
})
这是我swiper的代码,把swiper的初始话放在数值改变后,this.$nextTick中就行,因为这时banners的值已经改变了
3. Uncaught SyntaxError: Unexpected token import /
Uncaught SyntaxError: Unexpected token export
这是webpack和es6中可能会遇到的问题,出现这个问题是webpack配置的问题
解决办法,首先webpack中关于babel的配置改为
{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/
}
并在同级目录下增加.babelrc文件,并在这个文件中写入
{
"presets": ["es2015"],
"plugins": ["transform-runtime"],
"comments": false
}
即可。
如果有问题,请给我留言!
Vue初学跳坑的更多相关文章
- vue eventBus 跳坑的办法
前言(feihua): 最近闲来没事写了一个小的demo,在小的数据传输上没有必要去使用vuex,对于非父子组件的传值方法总结了一点心得体会供大家参考(如有太low,还请大神别喷俺) 先上官方文档: ...
- Webpack + VueJS 学习、跳坑和总结
这篇随笔会陆续地更新下去,用于汇集一些关于Webpack的初学跳坑总结还有VueJS的基础知识. Webpack部分 ① 快速建立一个Webpack-Vue项目开发环境(4.39.1-2019/08/ ...
- Vue + TypeScript 踩坑总结
vue 和 TypeScript 结合的情况下,很多写法和我们平时的写法都不太一样,这里总结我项目开发过程中遇到的问题和问题的解决方案 有些问题可能还没解决,欢迎各位大佬给与提点. 另外,使用本文前可 ...
- JavaScript 跳坑指南
JavaScript 跳坑指南 坑0-String replace string的replace方法我们经常用,替换string中的某些字符,语法像这样子 string.replace(subStr/ ...
- Xamarin安装和跳坑指南
安装Checklist 注意:本文只描述安装过程,由于组件的版本更新很快,为保证文章时效性,不提供下载链接,也尽可能不指明具体版本. 安装Visual Studio 2015进行默认安装,除非已经FQ ...
- 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)
算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ #include<cstdio> #include<cst ...
- 两百条微信小程序跳坑指南(不定时更新)
微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...
- 基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记【ThinkSNS+研发日记系列】
在上一篇文章< ThinkSNS+基于Laravel master分支,从1到 0,再到0.1>,简单的介绍了 社群系统ThinkSNS+ ,这里分享在开发过程中,前端选择的心理活动. L ...
- vue router 跳转到新的窗口方法
在CreateSendView2.vue 组件中的方法定义点击事件,vue router 跳转新的窗口通过采用如下的方法可以实现传递参数跳转相应的页面goEditor: function (index ...
随机推荐
- 《java入门第一季》之eclipse快捷键
Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当 ...
- R基础学习
R基础学习 The Art of R Programming 1.seq 产生等差数列:seq(from,to,by) seq(from,to,length) for(i in 1:length(x) ...
- libevent之Reactor模式
通过前边的一篇博文轻量级网络库libevent初探,我们知道libevent实际上是封装了不同操作系统下的/dev/poll.kqueue.event ports.select.poll和epoll事 ...
- 【Qt编程】基于Qt的词典开发系列<三>--开始菜单的设计
这篇文章讲讲如何实现开始菜单(或者称为主菜单)的设计.什么是开始菜单呢?我们拿常用的软件来用图例说明,大多数软件的开始菜单在左下角,如下图: 1.window 7的开始菜单 2.有道词典的主菜单 3. ...
- Media Player Classic - HC 源代码分析 7:详细信息选项卡(CPPageFileInfoDetails)
===================================================== Media Player Classic - HC 源代码分析系列文章列表: Media P ...
- Android实训案例(一)——计算器的运算逻辑
Android实训案例(一)--计算器的运算逻辑 应一个朋友的邀请,叫我写一个计算器,开始觉得,就一个计算器嘛,很简单的,但是写着写着发现自己写出来的逻辑真不严谨,于是搜索了一下,看到mk(没有打广告 ...
- C# 中的线程安全集合类
C# 的集合类型中, 都有Synchronized静态方法, 和SyncRoot实例方法 对于ArrayList以及Hashtable 集合类来讲,当需要做到线程安全的时候,最好利用其自带的属性Syn ...
- WebService学习--(三)使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- Spring Boot定时任务应用实践
在Spring Boot中实现定时任务功能,可以通过Spring自带的定时任务调度,也可以通过集成经典开源组件Quartz实现任务调度. 一.Spring定时器 1.cron表达式方式 使用自带的定时 ...
- JFinal配合Shiro权限控制在FreeMarker模板引擎中控制到按钮粒度的使用
实现在FreeMarker模板中控制对应按钮的显示隐藏主要用到了Shiro中的hasRole, hasAnyRoles, hasPermission以及Authenticated等方法,我们可以实现T ...