vue-cli@4 入门(四)

操作前,我们先打开 App.vue,因为这里项目默认写了一些东西,我们要去掉,和下面一样即可。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<template>
  <div id="app">
  	<!-- 这一行一定要添加,不然其他页面展示不出来 -->
  	<router-view></router-view>
  </div>
</template>


<script>

export default {
  name: 'app',
  components: {
  }
}
</script>

Login.vue

我们前面已经配置好了 登录 的接口,现在就可以写一个网路请求了,在Login.vue文件中操作 (这里基本都是代码粘贴复制 + 部分手写,所以最好是手动敲,可以检查一下是否有错误)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<script>
	//这里引入的是 /src/api/api.js
	import * as Api from '../api/api'	
	export default {
		name: '',
		data() {
			return {
				username: '',
				password: '',
			}
		},
		//钩子方法 ,可以百度一下:vue的钩子方法
		created: function() {
			//控制台可以查看打印的数据,这里用来演示的,可以去掉
			console.group('created 创建完毕状态===============》');
            console.log("%c%s", "color:red","el     : " + this.$el); //undefined  %c 格式化占位符 - css格式化样式
            console.log("%c%s", "color:red","data   : " + this.$data); //已被初始化
            console.log("%c%s", "color:red","message: " + this.message); //已被初始化
		},
		beforeMount: function () {
			console.group('beforeMount挂载前状态 === === === === ===》')
		},
		mounted:function() {
            		console.log('mounted钩子方法============')
            	},
            	methods: {	//自定义一些方法,比如点击登录按钮,方法就写在这里
            		toLogin: function () {
            			let params = new URLSearchParams();
                        params.append('username', username);
                        params.append('password', password);
                        //Api 这个是上面 import * as Api 这里定义的。
                        //Api.login  api.js 里面定义了 login = params => {} 这个
                        //一般返回的都是json数据 res. + 属性名就可以获取值了
                        Api.login(params).then(res => {
                        		if (res.code == '0') {
                        			console.log(res.data)
                        		}
                        }, error => {
                        
                        });
            		},
            	}
	}
</script>
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy