- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
发现错误:最后我发现了错误,我在下一段中对其进行了简短的解释,因为下面的代码虽然解决了错误,但并不是为了错误本身而这样做,而是为了改变代码的方法,到底是什么下面说,通过把数组的索引加上自己的名字vue,明白那些索引是数组对象的属性,而不是数组的索引。为了按照我最初想要的方式纠正它,我应该检查数组的属性而不是索引它们。
帖子开头:我在 HTML 列表中显示数组数据时遇到问题。每次我将图像放在特定的 div
元素上时,如果再次拖动图像并且数组中已存在该对象,则增加数组中该对象的数量属性。问题是,当我尝试使用 v-for
在 HTML 列表中显示该数组的内容时,它的行为就像数组为空一样。我已经验证了数组不为空,我不知道还能做什么。
<template>
<div>
<div id="wrapper-ingredients">
<div id="base">
<img src="../img/base.svg" usemap="#image-map" alt="base">
<drop id="pizza-base" @drop="handleDrop">
<map name="image-map" id="image-map">
<area target="_self" alt="pizza-base" title="pizza-base"
coords="133,387,93,308,79,217,119,119,168,69,231,32,308,17,381,14,448,36,489,64,526,99,555,142,576,195,586,251,575,314,546,359,488,412,416,446,317,454,205,436"
shape="poly">
</map>
</drop>
</div>
<div id="ingredients">
<drag class="drag" :transfer-data="bellpepper">
<img src="../img/bellpepper-512.png" id="bellpepper" alt="pimiento amarillo" width="512"
height="512">
</drag>
<drag class="drag" :transfer-data="cheese">
<img src="../img/cheese-512.png" alt="queso" width="512" height="512">
</drag>
<drag class="drag" :transfer-data="corn">
<img src="../img/corn-512.png" alt="maiz" width="512" height="512">
</drag>
<drag class="drag" :transfer-data="mushroom">
<img src="../img/mushroom-512.png" alt="seta" width="512" height="512">
</drag>
<drag class="drag" :transfer-data="olive">
<img src="../img/olive-512.png" alt="oliva" width="512" height="512">
</drag>
<drag class="drag" :transfer-data="onion">
<img src="../img/onion-512.png" alt="cebolla" width="512" height="512">
</drag>
<drag class="drag" :transfer-data="pepperoni">
<img src="../img/pepperoni-512.png" alt="pepperoni" width="512" height="512">
</drag>
<drag class="drag" :transfer-data="tomato">
<img src="../img/tomato-512.png" alt="tomate" width="512" height="512">
</drag>
</div>
</div>
<div id="wrapper-ticket">
<ul>
<li v-for="ingRec in ingredientsReceipt" >{{ingRec}}</li>
</ul>
</div>
</div>
</template>
<script>
import {Ticket} from "../model/Ticket.js"
import {Bellpepper} from "../model/Bellpepper.js"
import {Cheese} from "../model/Cheese.js"
import {Corn} from "../model/Corn.js"
import {Mushroom} from "../model/Mushroom.js"
import {Olive} from "../model/Olive.js"
import {Onion} from "../model/Onion.js"
import {Pepperoni} from "../model/Pepperoni.js"
import {Tomato} from "../model/Tomato.js"
import {Drag, Drop} from 'vue-drag-drop'
export default {
components: {Drag, Drop},
data() {
return {
ingredientsReceipt: [],
bellpepper: new Bellpepper(2),
cheese: new Cheese(3),
corn: new Corn(1),
mushroom: new Mushroom(2),
olive: new Olive(3),
onion: new Onion(4),
pepperoni: new Pepperoni(5),
tomato: new Tomato(6),
ticket: new Ticket()
}
},
methods: {
handleDrop(data) {
let x = event.clientX
let y = event.clientY
let img = document.createElement("img")
img.setAttribute('src', data.img)
img.setAttribute('name', data.name)
img.style.position = 'absolute'
img.style.width = '3.5%'
img.style.height = '7%'
img.style.left = x - img.offsetWidth / 2 - 50 + 'px'
img.style.top = y - img.offsetHeight / 2 - 25 + 'px'
img.style.zIndex = '1'
document.querySelector('#pizza-base').appendChild(img)
if (this.ingredientsReceipt[data.name] !== data) {
this.ingredientsReceipt[data.name] = data
} else {
this.ingredientsReceipt[data.name].quantity++
}
img.addEventListener("click", () => {
if (this.ingredientsReceipt[data.name].quantity > 0) {
this.ingredientsReceipt[data.name].quantity--
img.remove()
} else {
img.remove()
delete this.ingredientsReceipt[data.name]
}
})
},
},
}
</script>
我尝试直接显示数组而不使用v-for
,在屏幕上仅显示一个空数组。如果有人知道在哪里可以找到错误,那将会非常有帮助。
最佳答案
您将元素添加到 this.ingredientsReceipt[data.name] = data
Vue 无法使用这种直接访问来检测数组的更改,您可以在此处阅读:
https://vuejs.org/2016/02/06/common-gotchas/#Why-isn%E2%80%99t-the-DOM-updating
他们还提供了一个解决方案 - 尝试ingredientsReceipt.$set(data.name, data)
关于javascript - 响应式 vuejs 数组不使用 v-for 显示其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54603385/
我正在为我的按钮使用 onClick 功能。我的按钮代码如下所示: Button 1 Button 2 我的 JS 函数如下所示: function fadeNext(selectedId, spee
首先,我想提一下,我理解每个人在不提供至少一些试验或错误的情况下提出问题的感受,但这纯粹是一种知识需求,话虽如此,我会去提前问。 我一直无法弄清楚如何将保存在 MySQL 表中的 600-1000 个
我想做的事情有点令人困惑,而且我英语不太好,所以我先把代码贴在这里,这样你就可以很容易地理解: 以下是表单内容: Testing for Stackoverflow Option1
我学习 SDL 二维编程已有一段时间了,现在我想创建一个结合使用 SDL 和 OpenGL 的程序。我是这样设置的: SDL_Init(SDL_INIT_VIDEO); window = SDL_Cr
我创建了 2 个 data-* 标签。数据类别和数据标签。单击 href 标签后,我想复制该数据类别和数据标签以形成输入。我的代码是:
我想用 CSS 换行。我正在使用内容。 td:before { content: "Test\A Test2"; } 它不工作。如何正确
这个问题已经有答案了: Java Class that implements Map and keeps insertion order? (8 个回答) 已关闭 6 年前。 我有一个 HashMap
我正在尝试使用 JMeter 执行端到端测试。测试涉及写入SFTP文件夹并从另一个SFTP文件夹读取写入操作生成的文件。 我能够使用 JMeter SSH SFTP 插件连接到 SFTP 文件夹,并能
您好,我有带有标准服务器端 Servlet 的 GWT 客户端。 我可以从 GWT 客户端上传文件并在服务器端读取其内容 我可以将其作为字符串发送回客户端 但是 我有 GWT FormPanel与操作
我在 Plone 4.3.9 中创建了一个自定义类型的灵巧性,称为 PersonalPage,必须只允许在特定文件夹中使用 成员文件夹/用户文件夹 . 在他的 FTI 中,默认情况下 False .
在新(更新)版本的应用程序中更改小部件布局的最佳做法是什么?当新版本提供更新、更好的小部件时,如何处理现有小部件? 最佳答案 我认为您必须向用户显示一个弹出窗口,说明“此版本中的新功能”并要求他们重新
在我的应用程序中,我使用支持 View 寻呼机和 PagerTabStrip。进入查看寻呼机我有一些 fragment ,进入其中一个我正在使用支持卡片 View 。运行应用程序后,所有卡片 View
我有以下布局文件。基本上我有谷歌地图,在左上角我有一个 TextView,我需要在其中每 15 秒保持一次计数器以刷新 map 。布局很好。
我使用如下结构: HashMap > > OverallMap 如果我这样做: OverallMap . clear ( ) clear() 丢弃的所有内容(HashMap 对象、Integer 对
我在数据库中有 1000 张图像。在页面加载时,我随机显示 60 张图片,当用户滚动时,我通过 AJAX 请求添加 20 张图片。 第一种方法 我所做的是将所有图像加载到一个容器中,然后隐藏所有图像并
我正在使用 woocommerce 创建一个网上商店。 我想在每个产品上添加一个包含产品信息的表格,例如颜色、交货时间等等。 但是当我添加这张表时。本产品消失后的所有内容。 我的表的代码: td {
This question already has an answer here: What does an empty value for the CSS property content do?
因此,我正在与我的 friend 一起为 Google Chrome 开发一个扩展程序,对于大多数功能(即日历、设置等),我们打开一个模式,这样我们就不必重定向到另一个页面。当您在内容之外单击时,我们
我将可变高度的 CSS 框设置为在更大的 div 中向左浮动。现在我想添加一个标题,其中文本在框的左侧垂直显示(旋转 90 度),如下面的链接所示(抱歉还不能发布图片)。 http://imagesh
相关页面位于 www.codykrauskopf.com/circus 如果您查看我页面的右侧,在半透明容器和浏览器窗口边缘之间有一个间隙。我看了看,出于某种原因,wrap、main、content
我是一名优秀的程序员,十分优秀!