Vue DOM 对计算属性没有反应

2024-01-11

我有一个按钮,如果计算属性的有效属性为 false,则该按钮设置为禁用。如果为 true,则应启用该按钮并允许用户移至当前流程中的下一步。

我的 currentStep 计算属性正在根据当前步骤输入的更改完美更新,但按钮 :disabled="currentStep.valid" 无法识别 currentStep.valid 正在发生的更改。

如果我单击 vue-devtools 中的当前组件(addnewprogram)来查看其数据,该按钮将正确显示!

在这里看到:http://recordit.co/XH6HX7JLhV http://recordit.co/XH6HX7JLhV

但是,如果不单击开发工具中的 addnewprogram,它就无法正常运行。

我是否缺少观察警告?

此功能的代码可以在这里找到:

<template>
  <section class="newprogram">

      <div class="newprogram--content">

        <div class="newprogram--stepone" v-if="progression.current === 1">
          <div class="content--left">
            <a class="link uppercase">use existing program information<i class="fa fa-picture-o"></i></a>
            <base-input v-for="input in currentStep.inputs"
                        :key="input.id"
                        :data="input"
                        v-model="input.value"></base-input>
          </div>
          <div class="content--right">
            <!-- images -->
          </div>
        </div>

        <div class="newprogram--steptwo" v-if="progression.current === 2">
          <choice-progression :step="1"></choice-progression>
        </div>

      </div>
    </div>

    <!-- Consistent among all steps -->
    <div class="container--bottomnav">
      <div class="bottomnav--left">
        <base-btn class="button-fluid"
                  :data="currentStep.btns[0]"></base-btn>
      </div>
      <div class="bottomnav--right">
        <base-btn :data="currentStep.btns[1]"
                  :disabled="currentStepValid"></base-btn>
      </div>
    </div>
    <!-- -->

  </section>
</template>

<script>
import bottomNav from '../main/bottom-nav.vue';
import baseProgressionBarbell from '../base/base-progression-barbell.vue';
import baseInstruction from '../base/base-instruction.vue';
import baseInput from '../base/base-input.vue';
import baseBtn from '../base/base-btn.vue';
import choiceProgression from '../secondary-flows/choice-progression.vue';

export default {
  name: 'addNewProgram',
  components: {
    bottomNav,
    baseProgressionBarbell,
    baseInstruction,
    baseInput,
    baseBtn,
    choiceProgression
  },
  computed: {
    progression () {
      return this.$store.getters.getProgression('addnewprogram');
    },
    steps () {
      return this.$store.getters.getSteps('addnewprogram');
    },
    currentStep () {
      return this.steps[this.progression.current - 1];
    },
    currentStepValid () {
      return this.currentStep.valid == false ? true : false;
    },
    stepOneValidation () {
      this.steps[0].inputs.forEach(input => {
        if (!input.value) {
          return this.$set(this.steps[0], 'valid', false);
        }
        this.$set(this.steps[0], 'valid', true);
      });
    },
    stepTwoChoices() {
      return this.$store.getters.getChoices('addnewprogram', 1);
    }
  }
}
</script>

<style lang="sass" scoped>
@import '../../sass/_variables.sass'

.newprogram
  display: flex
  flex-direction: column

.container--newprogram
  display: flex
  flex-direction: column
  height: 100%
  padding: $s1

.newprogram--header
  display: flex
  justify-content: space-between
  align-items: center

  h1
    padding: 0

.newprogram--content
  display: flex
  // justify-content: center
  // align-items: center
  height: 100%
  padding-top: $s2
</style>

您正在更新计算项的成员。计算项目不可编辑。你需要一个data项目,或者您需要将更改写入$store并让他们从那里刷新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue DOM 对计算属性没有反应 的相关文章

  • 如何在没有 API 请求的情况下使用 Nuxt.js 生成 100% 静态网站?

    我正在测试周围Nuxt js https nuxtjs org 生成静态网站 使用API 获取数据时是否可以生成100 静态站点 从而摆脱API和请求 根据我到目前为止的测试 所有文件都已正确生成并托管在Github 页面 https pa
  • VueJS - 跳过观察者的第一个更改

    我正在 VueJS 中为我 正在制作的应用程序创建一个组件 它有一些观察者在我的 var 更改时将逻辑应用到组件的其他部分 一旦组件初始化 它仍然需要由用户通过 Axios 完成一些事件后来自服务器的一些数据来设置 该数据通过主应用程序发出
  • Vue 3 输入模式

    我想创建输入 如果模式不匹配 我可以用空字符替换输入的字符 模板
  • 过滤输入文本以仅输入数字,甚至不输入小数

    我的目标是用户只输入 0 9 之间的数字 甚至不允许输入小数 怎么做 The code
  • 在 vuejs 上将 \n 替换为新行

    我正在尝试将 n 字符替换为来自端点的数据的新行 I tried p item licensedocument legal documentText replace r n r n g br p 并没有奏效 当我将replace 写入问题末
  • 在上传之前预览图像 VUEjs [重复]

    这个问题在这里已经有答案了 我知道这个问题已经被问过 但我不知道如何在vuejs中使用代码 我尝试了很多但没有任何结果 我还添加了我的代码 有人可以帮帮我吗 这是我的代码 谢谢 html
  • 以下文档我无法创建 Vue.js 3 的实例

    The code https stackblitz com edit vue ttt file src main js https stackblitz com edit vue ttt file src main js 问题 我正在尝试在
  • 如何在 Vuejs 中加载 Pixi 实例?

    我正在 VueJS 组件中学习 PixiJS 如下所示Pixi教程 https github com kittykatattack learningPixi我控制台显示此错误 vue runtime esm js 2b0e 619 Vue
  • 如何封装Vuejs项目中的常用功能?最佳实践

    我正在开发一个使用 Vuejs 作为前端的中型项目 我正在探索的封装 分离可能在许多组件中使用的常用方法的选项包括 mixins 方法和插件方法 混合方法我必须在每个要使用 mixin 方法的组件 文件 中编写一条 import 语句 由于
  • Vue.js - 当标头中使用 multipart/form-data 时,axios 中的文件上传验证失败

    我正在构建一个 Laravel Vue js SPA 单页应用程序 BootstrapVue https bootstrap vue js org Vee验证 https logaretm github io vee validate gu
  • 如何减少 WEBPACK + VUEJS 中的包大小

    我遵循了很多有关如何减小捆绑包大小的教程 但没有任何内容对捆绑包大小产生任何影响 我不知道为什么 每次当我向 webpack 添加一些新代码时 我的包大小都保持与以前相同 我的应用程序是使用 vue cli 3 pwa 插件 webpack
  • Vuetify a la carte:在静态 html 文件中使用时汇总组件会抱怨?

    我正在尝试汇总一个使用一些 vuetify 组件的 Vue 组件 出于 MWE 的目的 我有一个非常简单的组件 CountButton vue 这只是一个包装
  • 为网格注入浏览器前缀不适用于 Vue

    我已经在这件事上浪费了一个下午的时间了 我被难住了 我发现IE11不支持grid template我需要使用 ms grid columns and ms grid rows相反 我正在尝试生成一些 CSS 并通过 Vue 方法注入它 这适
  • Vue模板-渲染HTML特殊字符代码

    如何在我的 Vue 模板中完全渲染 HTML 特殊字符代码 例如我有这个 JSON 数据 id post91 slug null title Breakfast 038 Tea 我怎样才能转换Breakfast 038 Tea to Bre
  • Laravel Vue SPA 与 MPA/SSR

    许多 laravel vue 教程使用 ajax 调用来获取数据 看来 SPA 与 Laravel 是完全隔离的 IE Laravel 只是一个数据 API vue 应用程序也可以简单地托管在第三方外部服务器 例如 AWS S3 上 这是推
  • 如何使用Vue3中的ref访问父组件中的子组件方法?

    我正在尝试使用 vue3 和 ref 方法访问父组件中的子方法 但它返回一个错误 未捕获的类型错误 addNewPaper value savePaper 不是函数 下面是我的代码 请指导我哪里错了 子组件
  • 是否可以限制用户登录 Firebase 应用的设备数量?

    语境 我正在帮助使用 Vue 更新 Cordova 应用程序 以从基于订阅的收入 用户必须付费才能访问该应用程序 转变为基于广告的收入 用户可以免费注册 但将拥有他们在使用应用程序时显示的广告 我们想要做的一部分是限制用户可以拥有帐户的设备
  • 在 Vue js 中获取 JSON 属性时出错

    我在使用 Vue js 时遇到了一个奇怪的行为 我进行 ajax 调用 将结果 一些 JSON 存储到名为 modello 的 Vue 数据属性中 lineaGialla selected false descrizione Questa
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • VueJS $store.dispatch 发送多个参数

    我想将第二个参数传递给调度调用 this store dispatch testAction this employee employeeId departmentId 我的商店操作如下 async testAction dispatch

随机推荐

  • win32应用程序不是那么面向对象,为什么有这么多指针?

    对于你们中的一些人来说 这可能是一个愚蠢的问题 也许我问这个问题是错误的 因为我是 C 新手 但我注意到 在许多 Win32 应用程序中工作时 您会使用大量指针资源 为什么必须始终获取对象指针 为什么不启动该类的新实例 说到这一点 我注意到
  • 将 pandas 时区感知的 DateTimeIndex 转换为天真的时间戳,但在特定时区

    您可以使用该功能tz localize使 Timestamp 或 DateTimeIndex 时区感知 但如何做相反的事情 如何将时区感知时间戳转换为天真的时间戳 同时保留其时区 一个例子 In 82 t pd date range sta
  • 如何使用 eclipse adt 将新库添加到 android 依赖项?

    我正在尝试使用 eclipse adt 将外部库添加到 android 依赖项 我那里有几个库 例如拉动刷新等 但每次我添加一个新的库 jar 文件时 它都会显示在 android 依赖项库文件夹之外 我如何使它与其他库耦合作为 andro
  • 使用 hciattach 通过 uart 进行蓝牙?

    我在用QN9021SoC工作在controller mode BLE 蓝牙核心规范 v4 0 它支持一些标准HCI命令以及一些供应商特定的命令 我正在尝试将其附加到我的ubuntu laptop 我使用的命令是hciattach hciat
  • 通过双击文件将参数传递给 JavaFx 应用程序

    我创建了一个 JavaFX 应用程序 部署了 app 文件 它工作正常 然后 我将操作系统设置为使用我的应用程序打开具有特定扩展名的所有文件 我的问题是 当我双击文件时 我的应用程序打开 但我不知道打开它的文件是哪个 我尝试使用该函数检查应
  • EXCEPTION_ACCESS_VIOLATION (0xc0000005) 来自 JNI 的 JVM?

    我在 vc 中用 JNI 编写了一些本机方法 以便从 java 访问 我的三种方法中有两种工作得很好 没有任何问题 然而 当我在运行时调用我的最后一个方法时 它会导致以下错误消息 A fatal error has been detecte
  • 如何使 GTFS 查询运行得更快?

    我正在尝试使用 GTFS 数据库 即 RATP 为巴黎及其郊区提供的数据库 数据集是huge The stop times表有 1400 万行 这是表架构 https github com mauryquijada gtfs mysql b
  • python 中的范围函数

    for n in range 2 5 for x in range 2 n print n x 输出如下 3 2 4 2 4 3 为什么n的值从3开始而不是从2开始 n三点开始因为range 2 2 是空的 也许你真的想要 for n in
  • iPhone 是否支持传入彩信中的 SMIL?

    在我开发的一项服务中 我向用户发送一条彩信 其中包含 6 个静态顺序的图像 为了正确排序图像并添加格式 我使用了 SMIL 它在多种设备上运行良好 然而 iPhone 似乎根本不识别 SMIL 图像按文件名字母顺序排序 更糟糕的是 它们不是
  • 如何向独立的异步任务添加进度条?

    我有一个处于其自己的活动中的异步任务 我向它传递一个字符串值 它连接到我的 Web 服务并根据我传入的名称下载 Json 数据 返回 Json 结果集 效果很好 我想向异步任务添加一个进度旋转器 但我不知道如何做到这一点 我已经仔细阅读了这
  • 属性检测:使用“in”与尝试访问属性

    不得不提的是 我了解一点 JavaScript 但还不是很深入 始终认为这是检查对象上的属性是否可用的正确方法 if window console doSomething 昨天我看到了使用这种技术的代码 if console in wind
  • 由于属性名称规范化,AngularJS 链接函数未调用

    我已经按照自定义验证下的文档定义了一个验证器https docs angularjs org guide forms https docs angularjs org guide forms 但由于某种原因link函数没有被调用 我可以看出
  • Grails select 将不会返回正确的数据

    这是一个延续this https stackoverflow com questions 6959777 grails chained drop down问题 我有一个Address包含基本街道地址信息的类 我也有一个User具有属性的类p
  • 复制 SQL 表中的 3B 行?

    我必须复制一个表 该表在同一数据库中有大约 3B 行 没有 TEXT NTEXT 或其他 LOB 列 最大限度减少停机时间的最快方法是什么 我尝试过 bcp 导入 导出和 SELECT INTO 我收集了每个项目的时间统计数据 它至少需要
  • Rails 请求伪造保护设置

    请帮助 Rails 新手 我有protect from forgery调用 默认情况下给出 我的中没有属性ApplicationController class 基本上这是代码 class ApplicationController lt
  • 如何用vue js绑定组件?

    我有表单和选择组件 事实上事情很简单 我需要两个绑定模型 父组件 Vue component some form template some form data function return countryNameParent 带有项目的
  • 了解 WebRTC 中的 SFU、TURN 服务器

    如果我正在构建 WebRTC 应用程序并使用选择性转发单元媒体服务器 这是否意味着我不需要 STUN TURN 服务器 据我了解 STUN 服务器用于客户端发现其公共 IP 端口 而 TURN 服务器用于当客户端无法通过 STUN 直接相互
  • 将值数组插入 SQL Server 中表的列中

    我有一个数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 我想将这个值数组插入到表中 例如 Column1 Column2 Column3 Column4 1 2 3 4 5 6 7 8 9 10 11 1
  • 如何在 Windows 中的特定显示器上打开窗口?

    我的任务是修改我们的一款 C 产品 以便在 Windows 操作系统的特定显示器上生成一个新窗口 这适用于需要能够配置平铺多显示器可视化的客户 其中每个显示器由单台计算机上的单独显卡驱动 在 Linux 中 我可以通过在每个显示器上启动 X
  • Vue DOM 对计算属性没有反应

    我有一个按钮 如果计算属性的有效属性为 false 则该按钮设置为禁用 如果为 true 则应启用该按钮并允许用户移至当前流程中的下一步 我的 currentStep 计算属性正在根据当前步骤输入的更改完美更新 但按钮 disabled c