- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个产品列表,其中有一个更多详细信息按钮,该按钮将打开一个包含该特定产品信息的模式窗口。我使用 $emit 将信息从产品页面传递到模式窗口。我看到模态窗口打开,但没有看到 Modal_window.vue
中定义的特定产品信息。
我不断收到错误:
[Vue warn]: Error in v-on handler: "TypeError: _vm.selectProduct is not a function"
vue.esm.js?efeb:1897 TypeError: _vm.selectProduct is not a function
这是我的代码:
Product_listing.vue
<template>
<div class="content">
<div v-for="product in productsWithHeadlines" :key="product.id">
<div class="one">
<span>{{product.name}}</span>
</div>
...
<div class="seven">
<b-btn class="more_details_button" @click="selectProduct(product)">More details</b-btn>
</div>
</div>
</div>
</template>
<script>
export default {
component: {
modal_window: Modal_window
},
data() {
return {
showModal: false,
selectedProduct: undefined,
products: [
{
ID: "1",
Name: "Product_1",
Headline_1: "Headline 1",
top_feature_1:
"This is the description of the feature of product 1 under the first headline",
Headline_2: "Headline 2",
top_feature_2:
"This is the description of the feature of product 1 under the second headline",
Headline_3: "Headline 3",
top_feature_3:
"This is the description of the feature of product 1 under the third headline",
},
{
ID: "2",
Name: "Product_2",
Headline_1: "Headline 1",
top_feature_1:
"This is the description of the feature of product 2 under the first headline",
Headline_2: "Headline 2",
top_feature_2:
"This is the description of the feature of product 2 under the second headline",
Headline_3: "Headline 3",
top_feature_3:
"This is the description of the feature of product 2 under the third headline",
}
]
};
},
computed: {
selectProduct(product) {
this.selectedProduct = product;
this.$emit("openModalWindow", this.selectedProduct);
},
productsWithHeadlines() {
return this.products.map(product => {
const totalKeys = Object.keys(product).length;
const headlines = [];
for (let index = 1; index < totalKeys; index += 1) {
const text = product[`Headline_${index}`];
const feature = product[`top_feature_${index}`];
if (text && feature) headlines.push({ text, feature });
}
return {
id: product.id,
name: product.Name,
headlines,
};
});
}
}
};
</script>
Modal_window.vue我在模式窗口中使用标题数据元素以及名称。
<template id="modal-template">
<b-modal id="showModal" :hide-footer="true" ok-title="Buy Now" size="lg" :title="product.name">
<div class="inner-container">
<div class="inner-nested">
<div class="inner-one">
{{ product.name }}
</div>
<ul>
<li v-for="(headline, index) in product.headlines" :key="index">
<div>{{ headline.text }}</div>
<div>{{ headline.feature }}</div>
</li>
</ul>
<br />
<br />
</div>
</div>
</div>
</b-modal>
</template>
<script>
export default {
data() {
return {
showModal: false,
product: { type: Object, default: null }
};
},
methods: {
openModal(newProduct) {
console.log(newProduct);
this.product = newProduct;
this.$bvModal.show("showModal");
}
}
};
</script>
希望得到一些帮助,谢谢!
最佳答案
正如错误所述 - selectProduct 不是一个函数,它本身可以解决这里的问题。
了解 vue
的计算属性和方法属性有何不同。
计算这些属性被转换为带有 getter 和 setter 的 vue 属性,这意味着您可以从中获取值,也可以设置预定义值,它不接受参数
例如-
computed : {
hello() {
return 'helloWorld' // Getting a value
}
}
你将使用它作为 this.hello
,其中的方法完美地复制了 JS 中的普通 function
,并且具有理解其他 vue 属性的能力
methods : {
hello(name) {
return 'hello' + name // Getting a value
}
}
正如所说,它是一个 fn
,所以它也可以有参数,你可以将它用作 fn
,如 this.hello(name)
在您的情况下,您可能希望将 selectProduct
属性移动到 methods
属性,而不是作为 compulated
属性。
关于javascript - 没有信息从产品列表传递到模式窗口 : Error in v-on handler: "TypeError: _vm.selectProduct is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58374464/
我正在使用 React Native 构建移动应用程序。我面临 Nativ Base Toast 问题。当我第一次加载应用程序然后导航到工单状态时,如果我返回带有 android 后退按钮的主页,则会
我正在尝试创建一个“完美的滚动条”,它是这样的:。Https://github.com/noraesae/perfect-scrollbar-bower。使用尽可能简单的代码:。我犯了以下错误:。当然
我正在尝试在简单的 Draftjs 编辑器上应用自定义装饰器: import React from 'react'; import {Editor, EditorState, RichUtils} f
读取以钟形字符作为分隔符的CSV文件时,出现类型错误。我不想使用熊猫,我需要使用CSV库来解决这个问题。。示例标题:。数据类型。样本数据:。示例代码。我明白这个错误-。铃声字符参考-https://w
我正在处理 useSelector的 react-redux在我的 React Native 应用程序中,我收到以下错误: TypeError: TypeError: (0, _reactRedux.
当我用 Node 运行以下代码时: var command = "/home/myScript.sh"; fs.exists(command, function(exists){ if(exi
我正在为我的一个组件编写测试用例,该组件具有路由器(使用 withrouter)。我收到错误 wrapper.find is not a function。基本要求是需要检查我的渲染中是否存在标签,还
我一直在研究一个简单的表单提交。首先,我想在提交表单之前创建一个模式警报。于是,我使用了bootstrap的modal函数,反复得到 TypeError: $(...).modal is not a
这个问题在这里已经有了答案: Flask-Login raises TypeError: 'bool' object is not callable when trying to override
这是我在leetcode中遇到的问题。您将看到两个非空链接表,表示两个非负整数。数字以相反的顺序存储,并且它们的每个节点都包含一个数字。将这两个数字相加,然后以链表的形式返回总和。。你可以假设这两个数
我正在尝试学习Python,并试图将GitHub问题变成一种可读的形式。根据关于如何将JSON转换为CSV的建议,我得出了以下结论:。其中“Issues.json”是包含GitHub问题的JSON文件
我在使用 Proxy 类时遇到了这个有趣的错误: TypeError: 'set' on proxy: trap returned truish for property 'users' which
在研究Jupyter笔记本电脑时,我遇到了这个问题:。这是代码开始的地方:。下面的代码是在jupyter笔记本的另一个单元上运行的。我怎么才能解决它呢?。尝试更改参数和一系列其他内容,但所有这些都弹出
Working on jupyter notebooks, I came across this problem:在研究Jupyter笔记本电脑时,我遇到了这个问题: TypeError:un
我对此很陌生(对于 Jasmine 测试、ExtJs 和 JS 来说确实很陌生),我必须修复这个错误/错误。我正在运行一些单元测试,但不断收到以下错误: TypeError: object is no
在下面的文档中,我们可以不使用JupyterDash在笔记本中运行应用程序,而只需运行app.run(jupyter_mode=“外部”)。。Https://dash.plotly.com/dash-
导入地理位置时: import { Geolocation } from '@ionic-native/geolocation/ngx'; 获取错误: ionic Geolocation :Ionic
我定义了以下函数: def eigval(matrix): a = matrix[0, 0] b = matrix[0, 1] c = matrix[1, 0] d =
刚刚获得了SDXL模型的访问权限,希望为即将发布的版本进行测试...不幸的是,我们当前用于我们服务的代码似乎不能与稳定ai/稳定-扩散-xl-base-0.9一起工作,我不完全确定SDXL有什么不同,
这是我的全部代码。我试图通过/insta/:id在我的page.ejs页面上查找,但它显示错误:。无法读取未定义的属性(正在读取‘UserName’)。。我希望获得uuidv4()将提供的id,但它返
我是一名优秀的程序员,十分优秀!