前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端工程化(三)---Vue的开发模式

前端工程化(三)---Vue的开发模式

作者头像
用户2193479
发布于 2018-06-28 09:50:44
发布于 2018-06-28 09:50:44
1.3K00
代码可运行
举报
文章被收录于专栏:全栈全栈
运行总次数:0
代码可运行

通过前两部分的总结,项目具备了一个可以运行的前端工程。接下来的工作就是具体的功能开发了,我选择了Vue作为前端的框架,使用iView作为UI库。

建议在使用Vue开发之前一定要通读 Vue官网教程 对Vue中的基本概念及整体的思想有一个基本的认识。最好的教程莫过于官方文档了,不要上来就各种百度,从一些只言片语中摸索,这样会少走弯路。

个人感觉使用Vue进行开发,首先要改变以往前端开发中形成的思维模式。对于页面元素的操作,由原有的dom操作转换为数据操作。

dom操作的事情,Vue已经替我们干了,我们只需要关注数据就可以了。页面元素同数据进行了绑定(实际上是Vue模板的元素,只不过Vue的设计拥抱原生的html语法,看上去模板的元素与原生的html元素长得一样),当数据变化的时候,dom也随之变化。

1、Vue的开发模式:定义一个扩展名为.vue的文件,其中包含三部分内容,模板、js、样式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template lang="html">
</template>

<script>
export default {
 
}
</script>

<style lang="css" scoped>
</style>

实际的例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 <template>
 2     <Modal v-model="showFlag" :width="width" :mask-closable="false" :closable="false">
 3         <p slot="header" style="color:#f60;text-align:center">
 4             <Icon :type="customHeader.icon"></Icon>
 5             <span>{{customHeader.title}}</span>
 6         </p>
 7         <div style="text-align:center">
 8             <slot name="content">请定义具体显示内容</slot>
 9         </div>
10         <div slot="footer">
11             <Button type="text" size="default" :loading="modal_loading" @click="cancel1">取消</Button>
12             <Button type="primary" size="default" :loading="modal_loading" @click="confirm1">确认</Button>
13         </div>
14     </Modal>
15 </template>
16 
17 <script>
18 
19     export default {
20         data: function () {
21             return {
22                 modal_loading: false,
23                 showFlag: false,
24                 onConfirm: 'confirm',
25                 onCancel: 'cancel',
26                 updateFlag:false  //是否为新增操作
27             }
28         },
29         props: {
30             customHeader: {
31                 title: '标题',
32                 icon: 'information-circled'
33             },
34             width: {
35                 type: Number,
36                 default: 500
37             }
38         },
39         methods: {
40             confirm1() {
41                 this.$emit(this.onConfirm,this.updateFlag)
42             },
43             cancel1() {
44                 this.$emit(this.onCancel)
45                 this.showFlag = false
46             },
47             showAdd() {
48                 this.updateFlag = false
49                 this.showFlag = true
50             },
51             showEdit(){
52                 this.updateFlag = true
53                 this.showFlag = true
54             },
55             hide() {
56                 this.showFlag = false
57             }
58         }
59 
60     }
61 </script>
62 
63 <style scoped>
64 
65 </style>

2、定义组件之间共享的数据

在根Vue中定义数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 import Vue from 'vue'
 2 import App from './app.vue'
20 
21 //资源
22 import Data from './assets/data/data.json'
66 new Vue({
67     data:{
68       dict:Data
69     },71     render: h => h(App)
72 }).$mount('#app')

使用:在子组件中,通过this.$root.dict.fileServerPath引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  1 <template>
 40 </template>
 41 
 42 <script>
 43     export default {
 44         data() { 79         },
 80         methods: {124         },
125         watch: {
126             defaultFiles: function (newV, oldV) {
127                 debugger
128                 newV.forEach(e => {
129                     e.url = this.$root.dict.fileServerPath + e.url
130                     e.status = 'finished'
131                     this.$refs.upload.fileList.push(e)
132                 })
133             }
134         },
135         mounted() {
136             this.uploadList = this.$refs.upload.fileList;
137         }
138     }
139 </script>
140 
141 <style scoped>
178 </style>

3、定义Vue公共组件的方式

方式一

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//公共组件
import wolfTotem from './components/common/WolfTotem.js'
//将组件暴露为全局的句柄
window.WT = wolfTotem

方式二

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import MyLayout from './layout.vue'

const _layout = {
  install:function(Vue){
    Vue.component('WtLayout',MyLayout)
  }
}

export default _layout
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//自定义组件
import WtLayout from './components/layout/layout.js'

//织入
Vue.use(WtLayout)

方式三

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import HttpUtil from './assets/js/httpUtil.js'
Vue.prototype.$http = HttpUtil

 前端的开发围绕着上面的方式进行

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
利用腾讯云大模型×DeepSeek 实现AI复活古代人物
about me
2025/03/13
7221
利用腾讯云大模型×DeepSeek 实现AI复活古代人物
DeepSeek 全面指南:95% 的人都不知道的9个技巧(建议收藏)
其实问题不在工具,很多人的使用姿势就搞错了,用大炮打蚊子,白白浪费DeepSeek的强大功能。
用户1220090
2025/02/03
5.1K0
DeepSeek 全面指南:95% 的人都不知道的9个技巧(建议收藏)
如何使用DeepSeek-R1的知识库
就我个人体验来看,知乎上接入的DeepSeek-R1模型效果非常不错。知乎直答不仅支持个人知识库管理,还能借助DeepSeek-R1实现对知乎内容的搜索与深度分析。
算法一只狗
2025/04/29
1090
使用DeepSeek必备的10个技巧
今天,我们直接讲干货。用10个问题带大家了解:DeepSeek是什么,怎么用,如何与DS高质量对话,以及一些隐藏技巧。
崔认知
2025/02/06
1.8K0
使用DeepSeek必备的10个技巧
常见场景DeepSeek慢思考模型Prompt设计指南
通过系统化应用上述方法,可显著提升DeepSeek模型在复杂场景下的输出质量。建议从单一场景入手,逐步叠加高级技巧,形成个性化Prompt设计体系。
jack.yang
2025/04/05
1900
掌握DeepSeek:提升效率的实用技巧与秘诀
嘿,朋友们!你是不是也在用DeepSeek呀?你可别以为用它很简单哦,这里面可是有点小门道的呢!
Harry技术
2025/02/12
1680
掌握DeepSeek:提升效率的实用技巧与秘诀
DeepSeek 新手使用指南:入门必备技巧与隐藏功能(建议收藏)
2025年春节过的好快,转眼间,大家又回到了各自工作岗位了,要说这个春节,什么最火,肯定绕不开DeepSeek。
测试开发技术
2025/02/10
1.7K0
DeepSeek 新手使用指南:入门必备技巧与隐藏功能(建议收藏)
DeepSeek的提示词技巧
你会发现大街小巷,男女老少都在聊deepseek这个话题。 2025年1月20日,DeepSeek 发布了 DeepSeek-R1 和 DeepSeek-R1-Zero 两个新模型。
Michel_Rolle
2025/01/21
1K0
【愚公系列】《高效使用DeepSeek》005-DeepSeek的对话技巧
在AI工具百花齐放的今天,对话能力早已超越“能说会道”的浅层定义。DeepSeek凭借其独特的场景化对话架构与多模态认知引擎,正在重新定义人机交互的边界——它不仅能理解你“说了什么”,更能感知你“为何而说”。无论是专业领域的深度探讨,还是日常沟通的幽默调侃,这台“最懂中国人的AI”正以惊人的进化速度,让技术对话回归人性温度。
愚公搬代码
2025/03/18
1410
全网最全DeepSeek保姆级攻略!这几个隐藏功能让工作效率翻倍
DeepSeek是由深度求索(DeepSeek AI)开发的一系列先进的人工智能模型,涵盖自然语言处理、代码生成、数学推理等多个领域,并以其高性能、高性价比和开源策略在业界脱颖而出。
AI研思录
2025/02/20
3360
全网最全DeepSeek保姆级攻略!这几个隐藏功能让工作效率翻倍
DeepSeek 精准使用提示词技巧和闭坑指南
这篇文章主要介绍了 DeepSeek 的精准使用提示词技巧和闭坑指南。包括基本使用方法,如深度思考、联网搜索、上传附件等功能的应用场景。提示词方面,强调精准高效提问,如明确需求、不定义过程、明确受众风格等技巧,还提到了反馈与迭代优化、复杂问题分步拆解等。闭坑指南包括避免冗长提示词、复杂句式等。
stark张宇
2025/03/02
1.2K3
爆肝 36 小时,关于 DeepSeek,看这一篇文章就够了!
DeepSeek 已经成为了全球热点,因为做自媒体的原因能看到各种留言,我发现大家对 DeepSeek 的认识,千差万别差距巨大。
永恒君
2025/02/06
1.5K0
爆肝 36 小时,关于 DeepSeek,看这一篇文章就够了!
腾讯云ChatBI完成DeepSeek-R1接入,更会思考的智能分析师
近日,腾讯云ChatBI完成DeepSeek-R1接入,用户可在产品界面上选择“深度思考”模式,调用DeepSeek-R1模型对提问进行深度思考后再回答,有效提升对复杂提问、模糊性提问的理解能力和回答效果。
腾讯QQ大数据
2025/02/18
2830
腾讯云ChatBI完成DeepSeek-R1接入,更会思考的智能分析师
飞书接入DeepSeek-R1后,用一次顶一万次,而且再也不「服务器繁忙」了
以至于我们人类也祭出奇招,非得让 DeepSeek-R1 亲自尝尝服务器繁忙失联的痛苦。
机器之心
2025/02/10
3590
飞书接入DeepSeek-R1后,用一次顶一万次,而且再也不「服务器繁忙」了
DeepSeek-R1使用生存指南
下面的这个是DeepSeek和open-AI的对比,足以可见Deepseek的强大之处;
阑梦清川
2025/02/24
1220
DeepSeek-R1使用生存指南
【AGI-Eval学习干货 NO.2】DeepSeek小白必看指南,隐藏1000个提示词参考(建议收藏)
这个热搜#博主卖 DeepSeek 相关课程 1 天收入 50000#,我看到之后感觉得做一期干货内容,DeepSeek 的玩法现在都在摸索阶段,和大家一起学习探索。
AGI-Eval评测社区
2025/03/14
1300
【AGI-Eval学习干货 NO.2】DeepSeek小白必看指南,隐藏1000个提示词参考(建议收藏)
人工智能入门与高效使用DeepSeek的提示词指南
本文将分享一些使用 AI 和 DeepSeek 的技巧,帮助你更好地利用这些工具,提高效率。
星哥玩云
2025/03/03
1380
人工智能入门与高效使用DeepSeek的提示词指南
【人工智能】DeepSeek R1可以为我们做什么?
在当今人工智能技术日新月异的时代,大模型如雨后春笋般不断涌现,彻底改变了我们的生活与工作方式,为我们带来了前所未有的便利与惊喜。在众多大模型中,国产的 DeepSeek R1 凭借其卓越的推理能力以及丰富多元的功能,脱颖而出,吸引了无数目光。
蒙奇D索隆
2025/02/17
1230
【人工智能】DeepSeek R1可以为我们做什么?
腾讯云 X DeepSeek:四款新品接入,玩转「AI数智人」、「智能客服」、「商业分析」、「合同签署」
腾讯云智能数智人、腾讯企点客服、腾讯云BI、腾讯电子签四款产品最近组团接入DeepSeek,加速DeepSeek在数字人交互、智能客服、商业数据分析、合同签署等企业生成场景中的应用落地。
腾讯QQ大数据
2025/03/03
1870
腾讯云 X DeepSeek:四款新品接入,玩转「AI数智人」、「智能客服」、「商业分析」、「合同签署」
【知识库特性增量】 DeepSeek-R1 模板支持 bge-m3 embedding model
Embedding 模型的核心价值在于将非结构化文本转化为数值向量,解决语义理解与计算效率问题:
Cloud Studio
2025/02/20
1.2K0
【知识库特性增量】 DeepSeek-R1 模板支持 bge-m3 embedding model
推荐阅读
相关推荐
利用腾讯云大模型×DeepSeek 实现AI复活古代人物
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档