vue组件实现文字居中对齐的方法


Posted in Javascript onAugust 23, 2017

继续学习Vue,这次是一个组件的制作过程

先让我们来看一下组件的预期效果

vue组件实现文字居中对齐的方法

上图为公司自营的一个微信商城的某一部分截图,可以看到红框内部分的文字多行与单行是居中对齐的,我们现在要做的就是使用Vue把里边的文字模块制作成一个可以复用的组件。

首先我们先把css部分拿下来 

css:

.word-v-middle{
margin-bottom: 0;
font-size: 12px;
min-height: 31px;
display: flex;
align-items: center;
justify-content: center;
height: 31px;
margin-top: 5px;
color: #87878a;
white-space: normal;
}
.word-v-middle span{
text-align: left;
font-size: 10px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}

上边就是组件的核心css,也就是使文字上下居中的css,接下来我们先把它封装成一个Vue组件

html部分

<p class="word-v-middle"><span>文字内容</span></p>

我们先把这部分注册成一个组件,这里使用的是组件的局部注册方法

var wordMiddle = {
template:'<p class="word-v-middle"><span>文字内容</span></p>',
};

之后实例化

html:

<div id="exp">
<word-v-middle></word-v-middle>
</div>

js:

new Vue({
el:"#exp",

components:{


'word-v-middle':wordMiddle

}
});

这样第一步就算完成了效果图如下

vue组件实现文字居中对齐的方法

第二步我们来给组件绑定动态的数据,我们先在组件注册的时候添加一个props方法,让组件可以接受数据,之后使用data方法来为组件添加数据

var wordMiddle = {
template:'<p class="word-v-middle"><span>{{msg}}</span></p>',

props:['data'],

data:function(){


return {



msg:this.data


};

}
};

这样我们的组件就可以接收数据并把数据绑定到内容中,实例化时的代码也要对应的改变一下

html部分

<div id="exp">
<word-v-middle :data='aaa' ></word-v-middle>
</div>

js部分

new Vue({
el:"#exp",

data:{


aaa:'hello',

},

components:{


'word-v-middle':wordMiddle

}
})

到这里单个动态数据的组件以及完成了,但项目中用到这种对齐方式的一般都是多列的块结构,所以我们再写一个多列的例子,并使用循环绑定多个数据

css部分

#example2{
width: 100%;

overflow: hidden;
}
#example2 div{

float: left;

width: 25%;
}

html部分

<div id="example2">
<div v-for='aaa in sites'>


<word-v-middle :data='aaa' ></word-v-middle>

</div>
</div>

js部分

new Vue({
el:"#example2",

data:{


sites:[




"洗发水洗发水洗发水",




"洗发水洗发水",




"洗发水洗发水洗发水洗发水洗发水",





"洗发水洗发水", 




 ]



},

components:{


'word-v-middle':wordMiddle

}
})

vue组件实现文字居中对齐的方法

效果如上图,上述代码中,css部分是为了让代码为并列的四列,html中使用v-for方法循环数据,在组建内通过:data='aaa'接收循环输出的数据,而数据的来源是父元素实例化中的data内的名为sites的数组,在实际项目中,把sites内的数据换成后台输出的数组就可以实现后台数据的绑定。

代码还有很多不足的地方,比如想要更改上下对齐的行数还要通过修改css修改,这篇文章仅作为学习Vue的小结,供自己以后复习学习使用,有什么问题希望大家指正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript dom 基本操作小结
Apr 11 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
Apr 18 Javascript
通过javascript把图片转化为字符画
Oct 24 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
jQuery中get()方法用法实例
Dec 27 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
Dec 15 Javascript
JavaScript中三种异步上传文件方式
Mar 06 Javascript
微信小程序 form组件详解及简单实例
Jan 10 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
Oct 07 Javascript
layui实现多图片上传并限制上传的图片数量
Sep 26 Javascript
详解前端任务构建利器Gulp.js使用指南
Apr 30 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 #Javascript
深入理解React中何时使用箭头函数
Aug 23 #Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 #jQuery
JS数组交集、并集、差集的示例代码
Aug 23 #Javascript
关于Vue实现组件信息的缓存问题
Aug 23 #Javascript
详解webpack进阶之loader篇
Aug 23 #Javascript
Vue中定义全局变量与常量的各种方式详解
Aug 23 #Javascript
You might like
PHP游戏编程25个脚本代码
2011/02/08 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
禁止js文件缓存的代码
2010/04/09 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
jquery中用函数来设置css样式
2016/12/22 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
Three.js基础学习教程
2017/11/16 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
理解python中生成器用法
2017/12/20 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
实习教师自我鉴定
2013/09/27 职场文书
学生处主任岗位职责
2013/12/01 职场文书
物流司机岗位职责
2013/12/28 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
列车长先进事迹材料
2014/01/25 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
军训新闻稿范文
2015/07/17 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
Java存储没有重复元素的数组
2022/04/29 Java/Android