补充

事项 说明 备注
代码 统一IDE使用EditorConfig插件控制缩进,保证代码的可读性
SVN提交需写明备注,列明当前代码修改项
添加注释
...
命名:
1,js : setingCheck.js
2,全局变量 : SONG_LIST
3,id/class:mainLeft,top-map? (短横杠待定)
ES5/ES6使用规范 如const/let、箭头函数
注释 1,复杂逻辑处理给出注释说明过程(无论是系统还是自定义)
2,组件中的重要函数或类 添加说明
3,多重 if 判断语句
4,注释块统一以 /** 注释 **/
5,单行注释使用 //
调试 谷歌调试工具 , vue-devTool console调试完及时删除
分号 行尾分号可以加或不加,应统一风格,但建议都不加

v-for 遍历避免同时使用 v-if

// template 
  	<ul>
  		<li v-for="user in activeUsers" :key="user.id">
  			{{ user.name }}
  		</li>
  	</ul>
// js
	export default {
		computed:{
			activeUsers:function(){
				return this.users.filter(function (user){
					return user.isActive
				})
			}
		}
	}
 

列表优化

如果列表是纯粹的数据展示,不会有任何改变,就不需要做响应化☟

// js
	export default {
        data:()=>({
            users:[]
        })
		created(){
            const users=axios.get("/api/users")
            this.users=Obiet.freeze(users)
		}
	}

变量本地化

export default {
    props: ['start'],
    computed: {
        base() { return: 42 },
        result() {
            const base = this.base //不频繁引入this.base,用变量接收
            let result = this.start
            for (let i = 0; i < 1000; i++) { result += heavy(base) }
            return result
        } 
    }
}

v-if + v-else

v-if 为同一类型组件(或同一模板的dom树)来做显示和隐藏时,最好在最外层添加key属性来设定唯一标识,否则容易出问题

<template v-if="type=== 'username'">  
  <label>用户名</label>  
  <input placeholder="输入用户名">  
</template>  
<template v-else>  
  <label>邮箱</label>  
  <input placeholder="输入邮箱">  
</template>  

代码切换时,仅仅切换placeholder,而不会重新渲染,因为他用了相同的模板

若v-if切换的是逻辑复杂的控件时,切换时不重新渲染极易出问题

需要给要重新渲染的控件添加一个key属性,来唯一标识该控件,被key标识后会重新渲染。实例如下

<template v-if="type=== 'username'" key="1">  
  <label>用户名</label>  
  <input placeholder="输入用户名">  
</template>  
<template v-else  key="2">  
  <label>邮箱</label>  
  <input placeholder="输入邮箱">  
</template> 

※v-if和v-else或v-else-if之间不能添加其他元素。