IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue中computed多个值互相计算,Vue多个字段之间互相计算,vue多个值互相引用计算 -> 正文阅读

[JavaScript知识库]Vue中computed多个值互相计算,Vue多个字段之间互相计算,vue多个值互相引用计算

需求:computed计算属性的应用一般会是几个互不影响的值计算,本次需求是多个值互相引用计算

效果图
在这里插入图片描述

注:computed多个值单独已用计算时,会报错,Vue computed 报错:Computed property was assigned to but it has no setter 解决办法就是 换一种写法,组件中定义的computed属性缺少setter,使用过computed 都应该知道,该错误提示通常发生在组件内为computed属性赋值的时候,如果没有显示的声明setter,控制台则会打印如上错误。那么顺着这个方向,继续排查错误,其次检查代码中是否有给num进行赋值,第一次检查,好像整个代码逻辑从未操作过num属性,怎么会涉及到给num赋值呢? 不管怎么疑惑,错误的确发生了。继续定位对num属性的操作,直到我看到v-model=“num”。现在一切都解释得通了,正是v-model的双向绑定属性实现了对num 的赋值。解决办法通过上面的分析,错误及原因已经找到,怎么解决就比较简单了,只需在声明computed属性时显示的声明setter即可。

这种错误解决办法:https://blog.csdn.net/weixin_44670973/article/details/109074967

sumZongji() {
        return (
          Number(this.params.datizhi) + Number(this.zhengji) + Number(this.daji)
        )
      },

完整代码:

data(){
return{
      params: {
          jiaozhong: '',
          radio: '原稿',
          booknames: '',
          jiaozhong: '',
          daji: '',
        },
}
}
//计算属性
computed:{
 sumZongji() {
        return (
          Number(this.params.datizhi) + Number(this.zhengji) + Number(this.daji)
        )
      },
      zhengji: {
        get() {
          return (
            parseFloat(this.params.zhengzhong) +
            1 -
            parseFloat(this.params.zhengshi)
          )
        },
        set(s) {},
      },
      daji: {
        get() {
          return (
            parseFloat(this.params.dazhong) + 1 - parseFloat(this.params.dashi)
          )
        },
        set(v) {},
      },

}
//页面Dom
<el-row>
            <el-col :span="12">
              <el-form-item label="正始:">
                <el-input
                  v-model="params.zhengshi"
                  name="正始"
                  type="number"
                  placeholder="请输入"
                  min="1"
                  max="1000"
                  oninput="value=value.replace(/[^\d]/g,0)"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="正终:">
                <el-input
                  v-model="params.zhengzhong"
                  name="正终"
                  placeholder="请输入"
                  type="number"
                  min="1"
                  max="1000"
                  oninput="value=value.replace(/[^\d]/g,0)"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="答始:">
                <el-input
                  v-model="params.dashi"
                  name="答始"
                  placeholder="请输入"
                  type="number"
                  min="1"
                  max="1000"
                  oninput="value=value.replace(/[^\d]/g,0)"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="答终:">
                <el-input
                  v-model="params.dazhong"
                  name="答终"
                  placeholder="请输入"
                  type="number"
                  min="1"
                  max="1000"
                  oninput="value=value.replace(/[^\d]/g,0)"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item label="答题纸:">
                <el-input
                  v-model="params.datizhi"
                  name="答题纸"
                  placeholder="请输入"
                  type="number"
                  min="1"
                  max="1000"
                  oninput="value=value.replace(/[^\d]/g,0)"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </div>
        <div
          v-if="
            params.jiaozhong != '核红' &&
            params.jiaozhong != '其他' &&
            params.jiaozhong != '分项检查'
          "
          class="yeshu"
        >
          <el-row>
            <el-col :span="24">
              <el-form-item label="页数:"></el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="9">
              <el-form-item label="正计:">
                <el-input
                  v-model="zhengji"
                  disabled
                  type="number"
                  name="正计"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="7">
              <el-form-item label="答计:" label-width="50px">
                <el-input
                  v-model="daji"
                  type="number"
                  disabled
                  name="答计"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="总计:" label-width="50px">
                <el-input
                  v-model="sumZongji"
                  type="number"
                  disabled
                  name="总计"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 15:38:21  更:2022-05-01 15:41:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:05:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码