<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
	<id>https://gracesleon.com/index.php?action=history&amp;feed=atom&amp;title=Vue%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83</id>
	<title>Vue前端开发规范 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://gracesleon.com/index.php?action=history&amp;feed=atom&amp;title=Vue%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83"/>
	<link rel="alternate" type="text/html" href="https://gracesleon.com/index.php?title=Vue%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83&amp;action=history"/>
	<updated>2026-04-19T15:29:05Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://gracesleon.com/index.php?title=Vue%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83&amp;diff=143&amp;oldid=prev</id>
		<title>Leon：创建页面，内容为“==命名规范== * 1.组件名 组件名为多个单词，使用驼峰命名法。 &lt;syntaxhighlight lang=&quot;javascript&quot;&gt; // 示例 export default {     name: 'TpTender…”</title>
		<link rel="alternate" type="text/html" href="https://gracesleon.com/index.php?title=Vue%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83&amp;diff=143&amp;oldid=prev"/>
		<updated>2019-07-23T03:59:20Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“==命名规范== * 1.组件名 组件名为多个单词，使用驼峰命名法。 &amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt; // 示例 export default {     name: &amp;#039;TpTender…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==命名规范==&lt;br /&gt;
* 1.组件名&lt;br /&gt;
组件名为多个单词，使用驼峰命名法。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 示例&lt;br /&gt;
export default {&lt;br /&gt;
    name: 'TpTenderFileMakeMain'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* 2.组件文件&lt;br /&gt;
文件的名字如果是多个单词，使用驼峰命名法。&lt;br /&gt;
&lt;br /&gt;
// 正例&lt;br /&gt;
TpTenderFileMakeMain.vue&lt;br /&gt;
&lt;br /&gt;
* 3.文件夹的名字如果是多个单词 使用 - 连接 如下：&lt;br /&gt;
&lt;br /&gt;
[[文件:20190425.png|居中]]&lt;br /&gt;
&lt;br /&gt;
==单文件组件的顶级元素顺序==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;vue&amp;quot;&amp;gt;&lt;br /&gt;
// 正例&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;!-- HTML --&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
/* JavaScript */&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/* CSS */&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==vue 暴露方法顺序==&lt;br /&gt;
暴露出去的部分，要按顺序：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
	name: 'index',                            名称&lt;br /&gt;
	components: {},                           组件&lt;br /&gt;
	data() {return{}},                        数据&lt;br /&gt;
	computed : {val() {return &amp;quot;123&amp;quot;;}},       计算属性&lt;br /&gt;
	watch: {checkboxModel() {}},              监听&lt;br /&gt;
	methods: {},  				  操作方法&lt;br /&gt;
	beforeCreate(){},                         创建之前  &lt;br /&gt;
	created(){},                              创建完成&lt;br /&gt;
	beforeMount(){},   			  挂载之前&lt;br /&gt;
	mounted(){},                              挂载完成                             &lt;br /&gt;
	beforeUpdate(){},                         更新之前&lt;br /&gt;
	updated(){},                              更新完成&lt;br /&gt;
	beforeDestroy(){},                        销毁之前&lt;br /&gt;
	destroyed(){}                             销毁完成&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==v-for==&lt;br /&gt;
在执行 v-for 遍历的时候，总是应该带上 key 值使更新 DOM 时渲染效率更高。&lt;br /&gt;
// 正例&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li v-for=&amp;quot;item in list&amp;quot; :key=&amp;quot;item.id&amp;quot;&amp;gt;&lt;br /&gt;
        {{ item.title }}&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JavaScript==&lt;br /&gt;
&lt;br /&gt;
* 1.var / let / const&lt;br /&gt;
&lt;br /&gt;
建议不再使用 var，而使用 let / const，优先使用 const。任何一个变量的使用都要提前申明，除了 function 定义的函数可以随便放在任何位置。&lt;br /&gt;
&lt;br /&gt;
* 2.引号&lt;br /&gt;
&lt;br /&gt;
建议不再使用双引号，静态字符串使用单引号，动态字符串使用反引号衔接。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 正例&lt;br /&gt;
const foo = '后除'&lt;br /&gt;
const bar = `${foo}，前端工程师`&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* 3.函数&lt;br /&gt;
&lt;br /&gt;
匿名函数统一使用箭头函数，多个参数/返回值时优先使用对象的结构赋值。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 正例&lt;br /&gt;
function getPersonInfo ({name, sex}) {&lt;br /&gt;
    // ...&lt;br /&gt;
    return {name, gender}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
函数名统一使用驼峰命名，以大写字母开头申明的都是构造函数，使用小写字母开头的都是普通函数，也不该使用 new 操作符去操作普通函数。&lt;br /&gt;
&lt;br /&gt;
* 4.对象&lt;br /&gt;
&lt;br /&gt;
建议使用扩展运算符拷贝对象而不是 Object.assign(target, ...sources)。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 正例&lt;br /&gt;
const foo = {a: 0, b: 1}&lt;br /&gt;
const bar = {...foo, c: 2}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
对象尽量静态化，添加新属性使用 Object.assign(target, ...sources)。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 正例&lt;br /&gt;
const foo = {a: 3}&lt;br /&gt;
Object.assign(foo, {b: 4})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
若有遍历对象的需求，优先使用 Map 结构&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 正例&lt;br /&gt;
const myMap = new Map([])&lt;br /&gt;
for (let [key, value] of myMap.entries()) {&lt;br /&gt;
    // ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 5.eval&lt;br /&gt;
&lt;br /&gt;
避免使用 eval，如要进行字符串转化为对象，最好使用浏览器的内置方法来解析 JSON 数据，以确保代码的安全性和数据的合法性。如果浏览器不支持 JSON.parse()，你可以使用 JSON.org 所提供的库。如果不得不使用 eval()，可以尝试用 new Function() 来代替，在 new Function() 中运行的代码会在一个局部函数作用域内执行，因此源码中定义的变量不会自动变成全局变量。&lt;/div&gt;</summary>
		<author><name>Leon</name></author>
		
	</entry>
</feed>