vue工具类封装,vue封装js方法
这篇文章主要为大家详细介绍了某视频剪辑软件实现计算器的封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了某视频剪辑软件实现计算器封装代码,供大家参考,具体内容如下
前言:根据计算器可增添加减乘除的封装可扩展,大家请参照效果如下:
文件目录
我们导入了四个射流研究…包,在下面有源代码,当前计算器页只有一个瓦尔库拉托尔文件。
valculator.vue:html代码
模板
div class="关于"
氕这是个计算器你信吗/h1
van-cell-group type=text
范菲尔德
ninput=value=value.replace(/[^\d()(-)(*)]/g,”).replace(/^0{1,}/g,)
v-model=输入值
占位符=请输入数字
/
/货车单元组
div style=margin-top:20%
厢式格栅可点击:column-num=“4”:gutter=“10”
van-grid-item @ click= onclick(I) v-for=(num,I)in dataNum :key= I :text= dataNum[I]/
/货车-网格
/div
/div
/模板
valculator.vue: 《js方法》
脚本
//eslint-disable-next-line no-unused-vars
从"万特"导入{ Field }
导出默认值{
data () {
返回{
//数字加减乘除数组
数据编号:[
,
-,
*,
/,
1,
2,
3,
x ,
4,
5,
6,
=,
7,
8,
9,
0
],
输入值: ,//输入当前显示值
输入存储: ,//输入输入值存储
计算器: ,//解析拿到的值
临时变量1: ,//存储临时计算拼接值一
临时变量2: ,//存储临时计算拼接值2
临时操作员:"//存储临时运算符
}
},
方法:{
//点击事件
onclick(索引){
this.parsing(index) //解析当前的值
this.judge() //判断进行运算
},
//解析当前拿到的值
解析(索引){
开关(索引){
案例4:
this.calculator=1
破裂
案例5:
this.calculator=2
破裂
案例6:
this.calculator=3
破裂
案例8:
this.calculator=4
破裂
案例9:
this.calculator=5
破裂
案例10:
this.calculator=6
破裂
案例12:
this.calculator=7
破裂
案例13:
this.calculator=8
破裂
案例14:
this.calculator=9
破裂
案例15:
this.calculator=0
破裂
案例0:
this.calculator=
破裂
案例1:
this.calculator=-
破裂
案例二:
this.calculator=*
破裂
案例三:
this.calculator=/
破裂
案例11:
this.calculator==
破裂
案例7:
this.calculator=X
这个。清除()
破裂
默认值:
破裂
}
//这个。out值=this。计算器;
//这个。inputbox();
//控制台。日志(这个。计算器);
},
//判断是哪个运算符
judge () {
if (this.calculator====) {
this.equal()
} else if(这个。计算器=== X ){
这个。清除()
}否则{
this.showOn() //显示当前的值
this.calculation() //计算当前的值
}
},
//计算当前的值
计算(){
//如果为空表示当前为第一个运算符,否则开始计算
const vae=this。是号(这个。计算器)//判断当前输入值是否为数字
如果(这个。临时运算符=== ){
if (vae===false) {
这个。临时操作员=这个。计算器//存储当前计算值
}否则{
这个。临时变量1=this。计算器//计算的值:加减触发前拼接的值
}
}否则{
if (vae===false) {
this.temporaryVariables1=this .检索。检索(
this.temporaryOperator运算符运算符,
这个。暂时的变量1,
这个。暂时的变量2
) //如果当前有输入运算法调取加减乘除
this.assignmentConversion() //清空第二个数
这个。临时操作员=这个。计算器//计算完后保留当前的运算符
}否则{
这个。临时变量2=this。计算器//继续第二个拼接
}
}
},
//判断是否为数字:"12.3"等都为真的,"哈哈"、"12.33"等都为错误的
isNumber (val) {
var regPos=/^\d (\ .\d)?$///非负浮点数
var regNeg=/^(-(([0-9] \ .[0-9]*[1-9][0-9]*)([0-9]*[1-9][0-9]*\.[0-9] )([0-9]*[1-9][0-9]*)))$///负浮点数
if(regpos。测试(val) reg阴性。测试(val)){
返回真实的
}否则{
返回错误的
}
},
//等于
equal () {
this.temporaryVariables1=this .检索。检索(
this.temporaryOperator运算符运算符,
这个。暂时的变量1,
这个。暂时的变量2
) //调取加减乘除
this.assignmentConversion() //清空第二个数
这个。输入值=this。临时变量1//将计算后的值显示在屏幕上
this.inputStorage= //清空之前存储的值
},
//清空第二个数
assignmentConversion () {
this.temporaryVariables2= //第二个清空用来再次保留
},
//清除显示的数据
Clear () {
this.inputValue= //显示的值
this.inputStorage= //输入输入值存储
this.calculator= //解析拿到的值
this.temporaryVariables1= //存储临时计算拼接值一
this.temporaryVariables2= //存储临时计算拼接值2
this.temporaryOperator= //存储临时运算符
},
//显示当前的值
showOn () {
这个。输入值=this。输入存储//之前存储先赋给要显示的
这个。输入值=this。计算器//要显示的值再次加上当前点击的值
这个。输入存储=这个。输入值//同步要存储的值
}
}
}
valculator.vue: 《style》
样式范围
部门输入安装{
位置:相对;
}
div.inputOne {
位置:绝对;
top:10%;
/*下边框:1px纯灰;*/
}
div.inputTwo {
位置:绝对;
top:15%;
}
部门输入行{
边框-底部:1px纯灰;
top:12.5%;
位置:绝对;
}
/风格
导入其他射流研究…文件:
retrieval.js:计算器加减乘除选择器
//eslint-disable-next-line no-unused-vars
导入添加自./valculator/add
//eslint-disable-next-line no-unused-vars
从导入减法./计算器/减法
从导入乘法运算./valculator/乘法
导出默认值{
检索:函数(运算符,变量1,变量2) {
开关(操作员){
案例"":
//调取公共加法
//eslint-disable-next-line no-undef
variables1=Add.add(变量1,变量2)
破裂
大小写-:
//调取公共减法
//eslint-disable-next-line no-undef
变量1=减法。减法(变量1,变量2)
破裂
//eslint-disable-next-line no-duplicate-case
大小写 * :
//调取公共乘法
//eslint-disable-next-line no-undef
变量1=乘法。乘法(变量1,变量2)
破裂
默认值:
破裂
}
返回变量一
}
}
add.js:加法操作
导出默认值{
add: function (addOne,addTwo) {
//eslint-disable-next-line no-unused-vars
addOne=Number(addOne)Number(加二)//显示当前的值
返回附件
}
}
乘法。js:乘法操作
导出默认值{
乘法:函数(添加一个,添加两个){
//eslint-disable-next-line no-unused-vars
addOne=数字(addOne)*数字(加二)//显示当前的值
返回附件
}
}
减法。js:减法操作
导出默认值{
减法:函数(添加一个,添加两个){
//eslint-disable-next-line no-unused-vars
addOne=数字(addOne)-数字(加二)//显示当前的值
返回附件
}
}
总结:
我们可以添加一个js文件用于同级别的加减法代码,然后写在retrieval.js中当然我们最好把这个js文件改成xml来实现伪反射配置文件。对于乘除法,我们需要进一步把计算器改成每次两次计算,不能一次输入很多数,这样就避免了优先级的问题。当然,它是我们进行优先排序的重要理论依据。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。