vue基础18(vue-cli脚手架项目中组件的使用)

vue-cli脚手架项目中组件的使用

在webpack-simple模板中,包括webpck模板。一个.vue文件就是一个组件。

 为什么会这样呢?因为webpack干活了!webpack的将我们所有的资源文件进行打包。同时webpack还能将我们的html(template)、css、js文件通过模板编译的方式将这些文件打包成一个.vue的文件。

为什么在vue-cli项目中能使用.vue的文件?

比如有这之前的一个自定义的组件:

 Vue.component('app-header', {template: '<div>A custom component!</div>'})

我们可以把template提取出来,例如:

<script type="text/x-template" id="head-template"><div class="head"><h1>{{ title }}</h1></div>
</script>
Vue.component('app-header', {template: '#head-template',data: {title: '我是头部'}
})

  如果是这样的去写我们的组件的话,太复杂了,后期还不好去维护。可能大家现在还感觉不出来,如果写更多功能或者用到组件时会相互嵌套,那就更加的麻烦了。还好官方推出的vue-cli工具,基本不用任何的额外的代码,很快的就可以构建出一套完整的环境。

<template><div class="header"><h1> {{ title }} </h1></div>
</template><script>export defualt {data: function() {return {title: '我是頭部'}}}
</script><style>.header {color: red;}
</style>

上面代码 有三部分,template标签中就是我们要写的组件结构,script标签中就是我们要写的业务逻辑,style标签中就是我们要写的该组件的样式。这三部分,我们通过vue-loader这个插件,将这三部分共同组合成了一个.vue文件。我们称这种.vue的文件就是一个组件。

另外上面的代码,我们发现有个export default语法,其实呢,这个东西,跟我们的python模块化有点类似。在es6 Module中,webpack这个工具通过babel-loader这个loader将我们的es6 Module语法进行解析,从而让我们的export default语法和import 'xxx'语法在浏览器中识别。

我们总结一句话:export default xxx 就是抛出一个模块(一个js文件就是一个模块), import 'xxx' from 'aaa'就是从刚刚抛出的文件路径中,导入此模块。有import就一定有export default.

 

接下来我们我编辑器中打开我们的项目目录,查看一下结构:

打开src文件夹,我们先从项目的入口文件main.js文件:

那么接下来我们就关心去书写App.vue组件中定义的内容就可以了。

大家一开始学习呢,先将App.vue文件中的内容全部删掉,跟着我一起书写里面的主要内容。

在该组件中,我们可以书写三部分,就是之前咱们学习的HTML、CSS、JS.

<template><!-- 该组件的模板结构(HTML) -->
</template>
<script>// 该组件的DOM操作
</script>
<style>
/*该组件的样式属性*/</style>

因为在main.js中有:

import App from './App.vue'

所以,我们必须在当前组件中写入export default,那么后面的书写就是用到了咱们之前的学习的语法。

在script

export default {name:'App',data(){return {//必须是一个函数,要有返回值,返回空对象也是有返回值
      }}}

在template中

<!--一定是闭合标签-->
<div class="app"> <h3>{{ msg }}</h3>
</div>

如果此时你的命令行工具还是保持开启的装备的,那么你会发现如下页面:

如果没有重启项目,请再次执行如下命令启动项目:

npm run dev

 

那么接下来我们就可以在App.vue组件中将我们之前学习到的知识运用进来。

比如我们的指令系统:

  1. v-if  条件渲染
  2. v-show  显示隐藏
  3. v-for  遍历多条数据
  4. v-bind   绑定属性
  5. v-model   表单控件的数据双向绑定
  6. v-on  绑定事件
  7. v-html  渲染html标签元素

我们还可以使用实例对象的方法:

  1. 计算属性的computed方法来监听属性
  2. methods方法中声明事件的方法
  3. .......

转载于:https://www.cnblogs.com/L5251/articles/9086769.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js和layerjs配合实现的拖拽表格列

前几天想着实现表格列的拖拽 写了个例子 一直不完美 经过修改感觉还算完美了 拖拽过程不会复制文字并且还能实现layerjs本身自带的表格排序功能。 1、首先引入layer.css jquery layui.all.js 2、布局页面 <div class"divT"> <table class"l…

计算机应用中的CAI,????按计算机应用的分类,CAI应属于()应用。

按计常见的企业法律组织形式有()&#xff1f;算机属于recoil固有的、应用I应应用本来的按计cant help but算机属于Destruction of the original forest leads to the ___ of many plants.应用I应应用flocks of的同义词按计Many birds ___ southeast in winter.支持、算机属于供…

(tmp 8) 0xff;

以下是阅读他人文章后&#xff0c;个人对计算 (tmp >> 8) & 0xff; 的理解&#xff1a; 将tmp转为二进制数 6322040->11000000111011101111000,向右移16位&#xff08;清掉该16位&#xff09;&#xff0c;且左边用0补足16位 00000000000000001100000&#xff0c;将…

请对比html与css的异同,css3与css2的区别是什么?

CSS为HTML标记语言提供了一种样式描述&#xff0c;定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。CSS2.0是一套全新的样式表结构&#xff0c;是由W3C推行的&#xff0c;同以往的CSS1.0或CSS1.2完全不一样…

MySQL数据导入导出(一)

今天遇到一个需求&#xff0c;要用自动任务将一张表的数据导入另一张表。具体场景及限制&#xff1a;将数据库A中表A的数据导入到数据库B的表B中&#xff08;增量数据或全量数据两种方式&#xff09;&#xff1b;体系1和体系2只能分别访问数据库A和数据库B。附图&#xff1a; 实…

360桌面计算机,360桌面管理软件

360桌面管理是从360安全卫士中单独提取出来&#xff0c;让你无需安装360安全卫士就能快速使用桌面助手整理自己的桌面。【功能特色】1、一键整理桌面&#xff0c;眨眼之间变清爽360桌面助手采用收纳盒进行分类管理&#xff0c;支持一键整理电脑桌面&#xff0c;用户只要点击“桌…

基于51的串行通讯原理及协议详解(uart)

串行与并行通讯方式 并行&#xff1a;控制简单&#xff0c;传输速度快。线多&#xff0c;长距离成本较高且同时接受困难。 串行&#xff1a;将数据字节分成一位一位的行驶在一条传输线上进行传输。如图&#xff1a; 同步与异步串行通讯方式 同步串行通讯方式&#xff1a;同步…

计算机四级考试题数据库,计算机四级考试《数据库系统工程师》试题及答案

计算机四级考试《数据库系统工程师》试题及答案计算机四级备考工作正在火热进行中&#xff0c;为帮助考生们更好地复习备考&#xff0c;以下是百分网小编搜索整理的一份计算机四级考试《数据库系统工程师》试题及答案&#xff0c;供参考练习&#xff0c;预祝考生们考出自己理想…

二层环路保护,RRPP多环的配置

作者:邓聪聪 组网需求&#xff1a; 局域网中&#xff0c;由A/B/C/D构成RRPP域1换网络结构&#xff0c;要求环网机构中的任意两条线路中断都不能影响业务。 配置思路&#xff1a; 环路由两部分组成&#xff0c;ring1、ring2&#xff0c;B为环1的主节点&#xff0c;G0/0/2为主端口…

如图所示是一种轧钢计算机控制系统,高速线材厂轧钢工艺培训(活套)

原标题&#xff1a;高速线材厂轧钢工艺培训(活套)活套现代高速线材轧机为保证产品尺寸精度&#xff0c;采用微张力及无张力轧制&#xff0c;以消除轧制过程中各种动态干扰引起的张力波动和由此引起的轧件尺寸波动。由于精轧机组为集体传动&#xff0c;故精轧采用微张力轧制&…

Linux服务部署之NTP时间服务器

Linux服务部署之NTP时间服务器&#xff1a; 服务器端IP&#xff1a;192.168.11.119 client端Ip&#xff1a; 192.168.11.101 先安装服务器端ntp: 首先先查看是否安装了ntp时间服务器; ~]# rpm -q ntp >查看是否安装了ntp服务器&#xff1b; 如果没有&#xff0c;安装服务器…

Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架&#xff0c;它最大的特点是按照分层的方式来架构&#xff0c;使用这种方式可以使各个层之间解耦合&#xff08;或者最大限度地松耦合&#xff09;。从服务模型的角度来看&#xff0c;Dubbo采用的是一种非常简单的模型&#xff0c;要么是提供…

new 3ds右摇杆测试软件,电击杂志编辑新3DS评测:防抖3D效果拔群!

电击杂志日前在本周杂志上看在了10月11日任天堂将会发售新型3DS主机“新3DS”与“新3DS LL”的上手报告。究竟新版3DS表现如何&#xff1f;让我们一窥究竟。新3DS与新3DS LL“新3DS”与“新3DS LL”是于8月29日配信的“任天堂8月29日3DS直面会”中发表的&#xff0c;主要特点是…

计算机cad比例尺1 150,CAD图纸里面 1:50 和:1:100和1:150三个比例分别怎么换算...

CAD图纸里面 1&#xff1a;50 和&#xff1a;1&#xff1a;100和1&#xff1a;150三个比例分别怎么换算以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;CAD图纸里面 1&#xff1a;50 和&…

Thread类学习(一)

Thread类API中的英文描述&#xff1a; file:///D:/Java/JDK8/Docs/docs/api/index.html 英语不好&#xff0c;大致的意思是&#xff1a; 线程是程序执行时的线程&#xff0c;java虚拟机(JVM)允许一个应用运行多个线程(并发)。 每一个线程都自己的优先权&#xff0c;优先级高的线…

做企业网站为什么要服务器呢,企业为什么要建站?

一、企业建站为何要建立自己的网站1、企业建站的第1个好处就是树立企业形象酒香不怕巷子深&#xff0c;说的就是线下企业经营时以自身企业形象带来的效果&#xff0c;但企业在网上经营活动时&#xff0c;一方面没有大量老客户支援&#xff0c;另一方面陌生人也没有信任感&#…

[转]Oh My Zsh,安装,主题配置

https://swp-song.com/2017/08/20/Tools/OhMyZsh%E5%AE%89%E8%A3%85%E5%92%8C%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/ Oh MyZsh 是什么 Oh My Zsh 它是基于 zsh 命令行的一个扩展工具集&#xff0c;驱动的命令行工具&#xff0c;提供了主题配置 / 插件机制 /…

Linux系统运维成长记

2017年秋天&#xff0c;大一入学&#xff0c;由于高考分数没有达标计算机专业于是被调剂到了土木工程专业。起初大家一起上课下课感觉不到什么变化&#xff0c;但是随着时间的流逝&#xff0c;日子久了&#xff0c;我越发觉得这样的生活毫无乐趣。我的主要兴趣在计算机方面&…

手把手教你撸一个简易的 webpack

背景 随着前端复杂度的不断提升&#xff0c;诞生出很多打包工具&#xff0c;比如最先的grunt&#xff0c;gulp。到后来的webpack和Parcel。但是目前很多脚手架工具&#xff0c;比如vue-cli已经帮我们集成了一些构建工具的使用。有的时候我们可能并不知道其内部的实现原理。其实…

centos7.3下apache搭建django[未成功]

centos7.3下apache搭建django[未成功] 1 apache肯定已经按照完毕了&#xff0c; 如果没有 yum install httpd yum install mod_wsgi 安装完成之后&#xff0c;mod_wsgi.so会在Apache的modules目录中, 2 在httpd.conf文件中添加以下内容  LoadModule wsgi_module modules/mod…