vue 单文件组件最佳实践

生命周期 template

<template>
<section>
<h1>vue single file components template best practices</h1>
<GlobalFilter
:filterItems="filterItems"
/>
</section>
</template> <script>
// utils
import Utils from '@/utils';
// config
import Config from '@/config';
// service
import GlobalFilter from '@/components/global-filter';
// service
import CommonService from '@/services/commonService'; const log = console.log; export default {
name: 'VSFCTBP',
components: {
GlobalFilter,
},
props: {
obj: {
type: Object,
default: () => ({}),
required: true,
},
arr: {
type: Object,
default: () => [],
required: true,
},
bool: {
type: Boolean,
default: false,
required: true,
},
str: {
type: String,
default: '',
required: true,
},
num: {
type: Number,
default: 0,
required: true,
},
},
data () {
return {
title: 'title',
desc: 'description',
loading: false,
filterItems: {
region: 'zh-Hans',
},
startTime: '',
endTime: '',
};
},
computed: {
time () {
return this.endTime - this.startTime;
},
},
watch: {
'$route.query' (val, oldval) {
log(`new $route.query`, val, oldval);
},
'$route.params' (val) {
log(`new $route.params`, val, oldval);
},
},
beforeCreated () {
//
},
created () {
//
},
mounted () {
this.init();
},
destroyed () {
//
},
methods: {
init () {
this.fetchAPI();
},
async fetchAPI () {
this.loading = true;
const {
data,
msg,
status,
} = await fetch(`/api/v3/getUsers`)
// const res = await fetch(`/api/v3/getUsers`)
.then(res => res.json())
.then(json => {
log(`fetch ok =`, json);
return json;
})
.catch(err => {
log(`fetch error =`, err);
return err;
})
.finally((ok, err) => {
this.loading = false;
});
},
},
};
</script> <style lang="scss">
.container {
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: space-between;
.item {
color: #0f0;
}
}
</style>

refs



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有️xgqfrms, 禁止转载 ️,侵权必究️!


vue 单文件组件最佳实践的更多相关文章

  1. webpack入坑之旅(五)加载vue单文件组件

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  2. Vue单文件组件

    前面的话 本文将详细介绍Vue单文件组件 概述 在很多 Vue 项目中,使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页 ...

  3. vue 单文件组件

    在很多vue项目中,我们使用vue.component来定义全局组件,紧接着用new Vue({el:'#container'})在每个页面内指定一个容器元素 这种方式在很多中小规模的项目中运作的很好 ...

  4. webpack打包vue单文件组件

    一.vue单文件组件 ①文件扩展名为 .vue 的 就是single-file components(单文件组件) ②参考文档:单文件组件 二.webpack加载第三方包 ①项目中,如果需要用到一些第 ...

  5. ts-loader如何与vue单文件组件衔接

    .ts-loader是如何与vue单文件组件衔接作用的 https://github.com/microsoft/TypeScript-Vue-Starter https://www.npmjs.co ...

  6. 基于VSCode的vue单文件组件模板设置---一次设置,可爽终生

    第一步: 第二步: 第三步: 打开vue.json文件后,如果是初次设置,应该如下图所示,绿色注释部分不用管,注意那两个白色大括号 第四步:在大括号内全部粘贴如下代码,保存即可完成vue模板的设置 & ...

  7. vue单文件组件的构建

    在很多Vue项目中,我们使用 Vue.component 来定义全局组件,这种方式在很多中小规模的项目中运作的很好. 但当在更复杂的项目中,就有了很大的弊端. 我们就可以用文件扩展名 .vue的单文件 ...

  8. Vue单文件组件基础模板

    背景 相信大家在使用Vue开发项目时,基本都是以单文件组件的形式开发组件的,这种方式好处多多: 1.代码集中,便于开发.管理和维护 2.可复用性高,直接将vue文件拷贝到新项目中 我暂时就想到这两点, ...

  9. 【原】vue单文件组件互相通讯

    在vue中,我们可以把一个页面各个部分单独封装起来,做成各种小组件,然后加载,这样的好处是代码维护起来比较容易,重复的代码多处调用! 在一个vue项目中,单文件组件以.vue形式文件命名 每个组件之间 ...

随机推荐

  1. Centos 安装postgreSQL9.4.3

    rpm -ivh http://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7.2-x86_64/pgdg-centos94-9.4-3 ...

  2. jQuery 选项卡切换过渡效果

    <!DOCTYPE html> <head> <meta charset="utf-8"> <title></title> ...

  3. 为失败设计,大量引入对SRE的理解,鲁棒性高

    https://go-kratos.dev/#/ Principles 简单:不过度设计,代码平实简单 通用:通用业务开发所需要的基础库的功能 高效:提高业务迭代的效率 稳定:基础库可测试性高,覆盖率 ...

  4. compare-algorithms-for-heapqsmallest

    Compare algorithms for heapq.smallest « Python recipes « ActiveState Code http://code.activestate.co ...

  5. 栈 堆 stack heap 堆内存 栈内存 内存分配中的堆和栈 掌握堆内存的权柄就是返回的指针 栈是面向线程的而堆是面向进程的。 new/delete and malloc/ free 指针与内存模型

    小结: 1.栈内存 为什么快? Due to this nature, the process of storing and retrieving data from the stack is ver ...

  6. 游戏寻路A*算法

    A*算法是一种启发式的BFS,目的就是找到到达目标位置的最短路径.启发式函数如下: f(x) = g(x) + h(x) g(x)是对出发点到达当前点距离的估约,h(x)是当前点到终点距离的估约.算法 ...

  7. 慕课网金职位 Python工程师 百度网盘下载

    百度网盘链接:https://pan.baidu.com/s/1xshLRO3ru0LAsQQ0pE67Qg 提取码:bh9f 如果失效加我微信:610060008[视频不加密,资料代码齐全,超清一手 ...

  8. Mysql容器启动失败-解决方案

    在看问题之前首先熟悉几个命令 相关命令 1.docker attach 连接到正在运行中的容器: 命令:docker attach --sig-proxy=false mynginx 2.docker ...

  9. boss导出简历css

    $('body').css('background-color', '#fff')$('.keywords').hide()$('#wrap').html($('.resume-box').css(' ...

  10. redis-服务器配置-主从

    1.配置sentinel.conf -------------------------------------------------- port 26379 dir "/home/app/ ...