(尚022)Vue案例_初始化显示(十分详细!!!)
项目结构目录

所需资料:
comment_page文件夹:

========================================================================================================================

组件化编码基本流程:
1.拆分组件
2.实现静态组件
3.实现动态组件
静态组件和动态组件区别?
静态组件显示的数据是固定的,没有交互;
动态组件有两个方面是动态的:(1).初始化显示(数据应该动态显示出来);(2).交互(用户点击提交/删除都能操作)
=================================================================================
具体操作:
第一步:拆分组件
1.拆分组件:(最外围是APP)


创建4个组件
(1).创建入口main.js
(2).最外层组件App.vue
(3).src下创建文件夹components(包含三个文件夹):(现在没有,创建三个vue文件)Add.vue,List.vue,Item.vue
(4).编写main.js文件
import Vue from 'vue'
import App from './App.vue' //./代表当前目录 new Vue({
el:'#App',
//将App映射为标签
components:{App},
//模板,里面写<App/>标签
template:'<App/>'
})
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第二步:静态组件(拆分页面和样式)
(1).在static文件夹下新建文件夹css,css文件夹内放入文件bootstrap.css文件
(2).在index.html内引入bootstrap.css

(3) 它有自己的页面,故先拆分页面,将自己index.html中的<div></div>放入App.vue的<template></template>标签内

(4).拆分左右两个组件页面
(5).1.App.vue中引入左右两个子组件
2.映射成标签
3.映射成标签后,写这两个标签

(6).拆分样式
将index.css样式,全部拷贝到List.vue的<style></style>标签中

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第三步:动态组件(1.动态显示初始化数据;2.交互)
1.动态显示初始化数据
数据为这个列表

(1).写之前:需要为这个列表定义一个名称comments,确定他的类型[]数组,数组中每一个元素为对象(因为它包含谁说的neme,说的什么content两个数据)
(2).数据放在哪个组件里面(最重要)
到底是放在哪个组件App,Add,List?依据是?看数据是某个组件用到还是某些组件用到(某个放在对应这个组件中,某些放在他们的父组件中)
本例:
Add需要,因为要为数组中添加一个;
List也需要,因为要遍历读
故放在它们的父组件App中

(3).展示数据,将comments传递给<List/>,这就涉及到组件间通信:通过标签属性,最好是同名:comments="comments"(不写:的话传递的是内容comments,加上:传递的是变comments的值)

(4). List需要接收(右键List就可以)

(5).一个组件想要接收,父组件传给它的数据,必须要有一个概念"声明"



(6).comments属性声明后可以在<template></template>中直接使用;

(7).li要遍历产生,故需要将其抽取为Item.vue 组件,既然标签迁移到了Item.vue组件,所以对应样式也需要迁移到Item.vue组件

(8).对应的样式搬迁


(9).List.vue组件中引入Item.vue组件

(10).Item.vue组件中读取comment属性

(11).动态显示数据

======================================================================================================================
最终页面展示图:

厉害了!!!
(尚022)Vue案例_初始化显示(十分详细!!!)的更多相关文章
- (尚026)Vue_案例_动态初始化显示(尚025)
(1).当前页面需要变化什么样的数据? 答:列表;应该有个todos:[]数组;数组中包含每个元素均为一个对象;有数据titles:'xxx';(勾不勾选)complete:'布尔类型' (2).数组 ...
- (尚031)Vue_案例_自定义事件(组件间通信第2种方式:vue自定义事件)
自定义事件: 我们知道,父组件使用prop传递数据的子组件,但子组件怎么跟父组件通信呢? 这个时候Vue的自定义事件系统就派得上用场了. 自定义事件知道两件事: (1).绑定 (2).触发 注意:$o ...
- (尚029)Vue_案例_交互footer组件功能
需要实现界面截图: 难点分析:sAllCheck必须定义为计算属性 1.想到问题: 一旦写一个组件,需要接收哪些属性?? 因为只有属性确定了,标签才好写 todos属性可以确定三个方面的显示 2.做交 ...
- (尚028)Vue_案例_交互删除
删除一条;1.鼠标移入移除这一条时颜色有变化 2.删除当前的todo ================================================================= ...
- (尚027)Vue_案例_交互添加
TodoHeader.vue组件 写交互: 第一步:跟目标元素绑定监听 (1).按回车键确认@keyup.enter="add" (2). 注意:数据在哪个组件,更新数据的行为就应 ...
- (尚024)Vue_案例_交互删除
注意:本总结中最终会删除不成功 ,原因是Item.vue中方法methods单词拼写错误!!! 首先明白,删除在Item.vue中交互 1.写交互,首先写监听@click="deleteIt ...
- (尚032)Vue_案例_消息订阅与发布(组件订阅与发布(PubSubJS库))
组件订阅与发布(PubSubJS库) npm info pubsub-js 安装库 npm install --save pubsub -js ============================ ...
- (尚030)Vue_案例_存储数据(localStorage本地存储技术)
当刷新页面时,会变为原来的状态 1.问题:当我刷新是不希望改变原来状态 需要缓存我当前的数据 2.究竟是缓存在内存里还是在文件里??? 缓存在文件里,因为浏览器关闭了,内存就没了;而我们需要重新打开浏 ...
- (尚025)Vue_案例_静态组件
页面效果展示截图: 第一步.首先拆分组件 (1).首先看一下是上下/左右结构 确定为:输入框+列表+底部; (2).确定名字 (3).创建对应的组件 ========================= ...
随机推荐
- linux设置定时任务的方法(自己总结)
Linux设置定时任务步骤 linux设置定时任务的关键字是:crontab 1:查看现在已经有的定时任务的命令是 crontab -l,执行命令如下图: 2:新建定时任务的命令是:crontab ...
- python_协程
协程 问题一: 生成器与函数的区别?生成器分阶段的返回多个值,相当于有多个出口(结果): yield ''' yield # 中断.返回函数值 1.只能在函数中使用 2.会暂停函数执行并且返回表达式结 ...
- robotframework_百度登陆
** Settings *** Library Selenium2Library *** Test Cases *** login Open Browser https://www.baidu.com ...
- 《JAVA高并发编程详解》-Thread start方法的源码
Thread start方法的源码:
- 关于java中是引用传递还是值传递的问题
关于JAVA中参数传递问题有两种,一种是按值传递(如果是基本类型),另一种是按引用传递(如果是對象).首先以两个例子开始:1)public class Test2 { public static vo ...
- JavaScript数值类型保留显示小数方法
<script type="text/javascript"> //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) ...
- crunch制作字典
安装 安装crunch sudo apt-get install crunch 语法 crunch <min> max<max> <characterset> -t ...
- 利用onMouseOver和onMouseOut实现图像翻滚
代码: <img src="images/001.jpg" alt="pic" onmouseover="this.src='images/00 ...
- Position定位相关知识了解
一.定位 position属性 1.默认定位: position:static; 元素框正常生成.块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其 ...
- ES6 新增基本数据类型Symbol
ES6 增加了一个新的基本数据类型 symbol. 不过,和其他基本数据类型相比,它有点与众不同,因为它没有字面量的表现形式,而且创建的方式也有点奇怪,只能通过调用全局函数Symbol()来完成. l ...