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 相关文章推荐
如何实现JS函数的重载
Sep 22 Javascript
如何判断图片地址是否失效
Feb 02 Javascript
js常用自定义公共函数汇总
Jan 15 Javascript
js动态添加onclick事件可传参数与不传参数
Jul 29 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
node.js入门学习之url模块
Feb 25 Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
Vue filter介绍及详细使用
Apr 04 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 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 Token(令牌)设计
2008/03/15 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
yii中widget的用法
2014/12/03 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
PDO::exec讲解
2019/01/28 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
python实现排序算法
2014/02/14 Python
理解Python中函数的参数
2015/04/27 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
基于python实现简单日历
2018/07/28 Python
Python中反射和描述器总结
2018/09/23 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
Linux如何修改文件和文件夹的权限
2013/09/05 面试题
如何写一个自定义标签
2012/12/28 面试题
程序员经常用到的UNIX命令
2015/04/13 面试题
外语系大学生自荐信范文
2014/03/01 职场文书
物业管理工作方案
2014/05/10 职场文书
现货白银电话营销话术
2015/05/29 职场文书
Python绘制分类图的方法
2021/04/20 Python
react合成事件与原生事件的相关理解
2021/05/13 Javascript
Oracle用户管理及赋权
2022/04/24 Oracle
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技