不推荐同时使用 v-if 和 v-for。请查阅风格指南以获取更多信息。
当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。请查阅列表渲染指南 以获取详细信息。
<!-- 字符串 -->
<router-link to="home">Home</router-link>
<!-- 渲染结果 -->
<a href="home">Home</a>
<!-- 使用 v-bind 的 JS 表达式 -->
<router-link v-bind:to="'home'">Home</router-link>
<!-- 不写 v-bind 也可以,就像绑定别的属性一样 -->
<router-link :to="'home'">Home</router-link>
<!-- 同上 -->
<router-link :to="{ path: 'home' }">Home</router-link>
<!-- 命名的路由 -->
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
<!-- 带查询参数,下面的结果为 /register?plan=private -->
<router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
jquery事件代理绑定事件:
$(‘父级元素’).on('事件名','要点击的元素',回调函数)
Vue中的data和computed,watch区别
data属性:提供模板用到初始数据
computed:computed的数据是经过函数计算返回的新数据,computed中的方法会缓存,如何数据没有变化,则不会调用
methods:是一个方法 必须以函数调用的形式才以使用,methods中的方法不会缓存,无论数据有没有变化,只要触发就会调用
watch:监听数据变化,主要用于监听data或计算属性中的数据变化
JS模块化:AMD,CMD,CommonJS,UMD
AMD,CMD:浏览器端的规范,异步规范
AMD的产出物:require.js
CMD的产出物:sea.js
CommonJS:服务器端规范,主要是同步
CommonJS:产生物是node.js
jquery与vue区别???
jQuery的特色功能或优势:动画,选择器,查找和文档处理方法,ajax功能
jQuery显示:show(),slideDown(),fadeIn()
jQuery隐藏:hide(),slideUp(),fadeOut()
切换显示和隐藏:toggle(),slideToggle(),fadeToggle()
webpack:是一款模块化构建打包工具
Vue组件通讯:
父传子:props
子传父:$emit
兄弟之间(非父子): Global Bus或Vuex
lodash工具库:封装了一系列好用的工具函数 例如:日期,字符串的,数组的
参考资料:https://www.cnblogs.com/whitewolf/p/4417873.html
lodash官方文档: https://lodash.com/docs/4.17.10
检测是否是数组:Object.prototype.toString.call(obj)
阻止冒泡:
W3C标准:stopPropagation()
IE:cancelBubble = true;
阻止默认行为:
W3C标准:.preventDefault();
IE: return false;
需求:将"https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js"中问号后面的参数解析为对象
第一步:取出 参数:ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js
技术点:location.search.substr(1)
str.substr(23+1)
"ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js"
第二步:以&符拆解为数组
result.split("&")
第三步:再针对数组每一项再用=号拆解
var obj={};
urlArr.forEach(function(item,index) {
var tempArr = item.split("=")
// console.log(tempArr)
obj[tempArr[0]]=tempArr[1];
})