vuemoment(vuemoment用法)
本篇文章给大家谈谈vuemoment,以及vuemoment用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、vuejs在前端开发起到什么作用
- 2、vue中的element表格选中某一行进行编辑,
- 3、vue里怎么使用moment
- 4、VUE中使用Moment Time-zone解决UTC时间跟本地时间的说明
- 5、vue中使用moment.js
- 6、vue时间字符串"2021年12月20日"转date对象 返回 Invalid date的问题
vuejs在前端开发起到什么作用
jQuery的诸多局限性导致前端工程师的发展受到了很多的限制,只能做一些表面性的工作,并不能实现前后端分离开发。
而近期出现的Vue,它给前端带来了无限磨渗的可能和改变。
改变一:真正意义上的前端工程师
之前开发都是前端做静态页面,把页面给到后台程序员改成jsp、php、asp等等...一顿乱改,一顿塞变量,做完以后页面样式乱七八糟,最后你再调整css。说白了你会html,css就行了,基本没什么门槛,可以这么说。
有了Vue和Node的前端工程化以后,前端工程师能做的事情越来越多,后台人员只需要抛过来一个Api,剩下的就可以都交给前端了。
改变二:服务端渲染VS客户端渲染
传统的jsp、php或是模板渲染也好,都是服务端渲染,就是客户端一个请求,服务器直接把整个页面返回给你,简单粗暴。(Spring Boot是通过模板引擎,由服务端完成的渲染工作)
但是vue开发好游扮是前后端分离开发,通过api进行交互,客户端请求服务器返回json数据,由客户端进行渲染。
不仅减轻了服务器的压力速度更快而且渲染更加优雅,代码更容易维护。
改变三:渲染优雅,代码易维护
jQuery是通过DOM来控制数据,不仅笨重而且渲染数据特别麻烦,而 Vue是通过数据来控制状态,通过控制数据来控制渲染,变量可以直接写在标签中,渲染更加优雅。
因为前端代码和后台代码都是分开的,所以项目更容易维护,开发效率更高。
改变四:项目工程化,结合npm直接安装第三方库
Vue让前端项目更加工程化,同时也规范了前端工程师的代码,而node和npm的加入才是vue能蓬勃发展的重要原因。
Node为Vue提供了本地server和模块化开发的思路,npm更能安装Vue项目需要的模块,配合Vue使用,比如Moment.js Element ui vuex等等,这些第三方库让Vue有了无限的可能。
敲黑板(补充下):传统开发jQuery是命令式编程,现代框架开发是函数式编程。现代框架开发,可以使用Webpack(当然使用jQuery也可以使用Webpack),可以使用人家提供的现成的脚手架,比方说create-react-app,vue-cli。极大提高了开发的效率,并且可以使用最新的ES6、ES7语法进行开发,在编码体验上,就提高了一个档次。
总结友灶
知其然,知其所以然,没有最好的框架,只有最合适的框架!
[img]vue中的element表格选中某一行进行编辑,
首先引入一下element的js
?
1
script src="plugins/element-ui/index.js"/script
然后引入需要用到的vue相关的js文件
?
1
2
3
4
script src="plugins/vue/vue.js"/script
script src="plugins/vue/vue-resource.js"/script
script src="plugins/vue/vue-moment.min.js"/script
script src="js/jquery.min.js"/script
下面先说一下html文件
?
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
div id="user"
!-- 操作 --
ul class="btn-edit fr"滚雀
li
el-button type="primary" @click="dialogCreateVisible = true"添加用户/el-button
el-button type="primary" icon="delete" :disabled="selected.length==0" @click="removeUsers()" 删除/el-button
el-button type="primary" icon="edit" :disabled="selected.length==0" 停用/el-button
el-button type="primary" icon="edit" :disabled="selected.length==0" 激活/el-button
/li
/ul
!-- 用户列表--大雹早
el-table :data="users"
stripe
v-loading="loading"
element-loading-text="拼命加载中..."
style="width: 100%"
height="443"
@sort-change="tableSortChange"
@selection-change="tableSelectionChange"
el-table-column type="selection"
width="60"
/el-table-column
el-table-column sortable="custom" prop="username"
label="用户名"
width="120"
/el-table-column
el-table-column prop="name"
label="姓名"
width="120"
/el-table-column
el-table-column prop="phone"
label="肆腔手机"
/el-table-column
el-table-column prop="email"
label="邮箱"
/el-table-column
el-table-column prop="create_time" sortable="custom" inline-template
label="注册日期"
width="260"
div{{ row.create_time | moment('YYYY年MM月DD日 HH:mm:ss')}}/div
/el-table-column
el-table-column inline-template
label="操作"
width="250"
el-button type="primary" size="mini" @click="removeUser(row)"删除/el-button
el-button type="primary" size="mini" @click="setCurrent(row)"编辑/el-button
/el-table-column
/el-table
!--分页begin--
el-pagination class="tc mg"
:current-page="filter.page"
:page-sizes="[10, 20, 50, 100]"
:page-size="filter.per_page"
layout="total, sizes, prev, pager, next, jumper"
:total="total_rows"
@size-change="pageSizeChange"
@current-change="pageCurrentChange"
/el-pagination
!--分页end--
/div
这一段是element的表单以及编辑还有分页样式 可以直接复制进来 其中添加了一些click操作 后面需要用到,然后我们就开始引入js
了解过vuejs的应该知道这样的结构 data里面填写我们获取的数据 一些规则 定义一些变量
在methods进行我们的操作
?
1
2
3
4
5
vm = new Vue({
el: '#user',
data:{},
methods:{}
})
首先 我们先从读取数据开始
放入你的url
users是表格绑定的数组 也是存放从后台获取的数据
将需要显示的数据放在filter中
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
vm = new Vue({
el: '#user',
// 数据模型
data: function() {
return {
url: 'url',
users: [],
filter: {
per_page: 10, // 页大小
page: 1, // 当前页
name:'',
username:'',
phone:'',
is_active:'',
sorts:''
},
total_rows: 0,
loading: true,
};
},
methods:{}
})
接下来我们添加methods
pageSizeChange() 以及 pageCurrentChange()是用于分页的函数
在query() 是用于搜索的项目
getUsers() 就是用于获取数据
?
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
methods: {
pageSizeChange(val) {
this.filter.per_page = val;
this.getUsers();
},
pageCurrentChange(val) {
this.filter.page = val;
this.getUsers();
},
query(){
this.filter.name='';
this.filter.username='';
this.filter.phone='';
this.filter[this.select]=this.keywords;
this.getUsers();
},
// 获取用户列表
getUsers() {
this.loading = true;
var resource = this.$resource(this.url);
resource.query(this.filter)
.then((response) = {
this.users = response.data.datas;
this.total_rows = response.data.total_rows;
this.loading = false;
})
.catch((response)= {
this.$message.error('错了哦,这是一条错误消息');
this.loading = false;
});
},
}
vue里怎么使用moment
官网:
1.先进行安装猛运: npm install moment --save
2.在main.js中枝滑梁导入并且做一定配置
4.可以赋值给data里面的属性然后调用即可让银
VUE中使用Moment Time-zone解决UTC时间跟本地时间的说明
[toc]
默认情况下,脊好Moment Timezone会缓存检测到的时区,也就是后续调用 moment.tz.guess() 将始终返回相同的值(即使在两次调用中已经更改了时区)。
要忽略缓存并使用新值覆盖缓存,需要调用带参数的方法:
使用方法: moment.tz(..., String) ,最后一个参数String是时区标识符:
创建的时刻具有不同的UTC时间,是因为这些时刻是在不同的时区创建的。
使用方法首野吵: moment(...).tz(String) ,String是时区标识符:
首先 moment('2021-08-20 10:00:00') 即在默认时区中创建对象,然后 tz(String) 将其时区更改为指定的时区
创建的时刻具有相等的UTC时间者侍,因为这些时刻是在默认时区中创建的
注意:上面两种方法得到不同结果的原因是因为传入的时间字符串 '2021-08-20 10:00:00' 本身是没有时区标识的,所以在转换的时候不同方法会加上不同的时区标识导致的差异,但是如果传入的时间本身就是能明确时间的 时间戳 、 UTC时间('2021-10-31T07:01:00Z') 的话,这两种方法得到的结果就是一样的了。
注意:小写z格式化标记并不总是显示缩写的时区名称,而是显示每个区域的时间偏移。
注意:后续调用 moment.tz.setDefault 不会影响现有moment对象或其克隆。
官方文档
vue中使用moment.js
1.先安装 npm install moment
2.在使用的组件里面引入 var moment = require('moment');
moment().format();
//官网
3.将时间戳转为标准日期
let day2 = moment(1632983439000).format("YYYY-MM-DD");
console.log(day2);
或者转为带T的格式等等
4.再将标准日期转为时间戳
let day3 = moment(day2).valueOf();
console.log(day3);
5.默认情况下,moment 会行旦解析并以本地时间显示。
如果要解析或以 UTC 显示 moment,则可以使用纯带隐 moment.utc() 而不是 moment()。
moment().format(); // 2013-02-04T10:35:24-08:00
moment.utc().format(); // 2013-02-04T18:35:24+00:00
重要的是要注意,尽管上面的显示有所不同,但它们在同一时间都是相同的 moment。
vara = moment();varb = moment.utc();a.format();// 2013-02-04T10:35:24-08:00b.format();// 2013-02-04T18:35:24+00:00a.valueOf();// 1360002924000b.valueOf();// 1360002924000
使用 moment.utc() 创建的任何 moment 都将会处于 UTC 模式中,而使用 moment() 创建做厅的任何 moment 则不会。
vue时间字符串"2021年12月20日"转date对象 返回 Invalid date的问题
最近遇到一个问题,有一些特殊处滑帆正理的时间字符串如果直接使用new Date会导致输出Invalid Date的问题,例如
因为这里的时间字符串并不是标准的时间格式,是一个特殊处理过的。
我们知轿唯道这信悔种特殊的时间字符串是通过一些自定义函数或Moment.js加时间模板来生成的。那我们可不可以用时间模板反义回Date数据呢?自定义处理这类似的问题估计会很复杂,查找Moment.js的方法,发现Moment.js可以使用自定义时间模板来格式化时间字符串
先安装Moment
利用Moment.js格式化时间字符串生成Date数据
附上Moment.js 的官网链接
这里Moment.js可换成Dayjs体积更小功能一样
关于vuemoment和vuemoment用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。