问题标签 [vuejs2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7735 浏览

javascript - 在 vue.js 中动态添加元素

tl;博士:我正在生成一个包含可编辑单元格的表格,类似于下图。我有它,所以单元格是可编辑的并且总更新,但我正在努力找出我需要遵循的过程来实际添加新的行和列。

在此处输入图像描述

最终用户可以编辑除总计之外的所有单元格,例如单元格 [ex1][item1] 可以从 100 更改为 150,然后会引发一个事件,将该行的总计从 320 更新为 370 .

最初我在 HTML 文件中定义主模板...

在 JS 文件中,我初始化了主要的 Vue 元素......

然后我有 6 种主要的不同组件类型:

  • 数据输入(通用输入单元)
  • 数据头(扩展数据输入)
  • 数据单元(扩展数据输入)
  • baserow(表格中的行)
  • headerrow(扩展baserow,由dataheaders组成)
  • datarow(扩展baserow,由datacells组成)

我这样添加一行和单元格

基行

标题行

<datagrid>当我单击添加列时,我可以在查看使用 chrome 扩展程序时看到“测试”被添加到列道具中。此外,我看到“测试”被添加到了<headerrow>columns 属性中,但 UI 中没有任何实际生成。我假设这是我最初如何渲染行和列的结果,并且我只是有某种基本的误解......谁能提供一些关于我出错的地方和地方的方向?

在此处输入图像描述

0 投票
1 回答
12630 浏览

vue.js - VueJS 生命周期中的 props 何时更新

我正在尝试访问 vuejs 生命周期的挂载钩子中的道具,但它似乎没有任何价值

我的(真正简化的)组件如下所示:

父母看起来像这样:

组件正确渲染,但挂载函数的输出是一个空数组,这对我来说似乎是时间问题。

难道我做错了什么?或者我应该使用不同的生命周期钩子。

谢谢!

0 投票
1 回答
7756 浏览

javascript - 将数据的 json 加载到 vuex 存储中并在组件中访问

我正在尝试将内容的 JSON 文件加载到我的 vuejs 应用程序中并在我的组件中访问它。我可以通过创建 API 将 json 加载到 vuex 存储中:

和一个动作

我在主 vue 实例的创建函数上运行 getSiteContent

在 chrome 中使用 vue 调试工具我可以看到商店

使用 siteData 进行更新。

这是json的一部分:

当我尝试访问时

在我的组件中,{{mumbo}}我无法读取未定义的 project_name 的属性。

我觉得这是一个时间问题,因为当我将它设置为返回 siteData.global 时它不会倒下

我不确定我是否做错了什么,或者我缺少连接以使其正常工作。

0 投票
5 回答
23899 浏览

vue-component - $emit 不会触发子事件

对于 VueJS 2.0 项目,我在父组件上有以下内容

在我的子组件上:

点击按钮似乎没有任何效果。我是否需要创建一个父方法,然后将其发送给孩子?我使用的是 vuejs 1。但现在我对父子通信的工作方式感到困惑

0 投票
1 回答
11947 浏览

javascript - 在 Vue.js 中覆盖属性和方法的正确方法?

在 Vue.js 中使用mixins覆盖方法的正确方法是什么?我知道你可以使用 mixins 来模拟继承,但是假设你想扩展一些 props 但不完全覆盖整个 prop 值。

例如,我有一个 baseCell,但我还需要具有相似但功能不同的组件<td>s 和<th>s,因此我创建了两个使用 baseCell 作为 mixin 的附加组件。

在组件设置中,这样的道具将完全覆盖所有值。

我想出了一个合并属性的解决方案,但它似乎有点老套,我不确定是否有更好的解决方案。

有了这个,我保留了 baseCell 道具,但传递了对象中的一些定义的道具。

0 投票
1 回答
4850 浏览

vue.js - 在 VueJS 2 中替换 $eval

$eval已从 Vue 2 中删除。

但是,考虑这个 JSFiddle(Vue 1):https ://jsfiddle.net/kvdmolen/0w193c75

这是带有 Vue 2.0.7 的 JSFiddle:https ://jsfiddle.net/kvdmolen/0w193c75/1/

想象一下,这实际上是一个组件(具有可配置列的表)。

任何想法我应该如何替换$evalVue 2?

使用eval()this 不起作用,因为它超出了v-for范围

0 投票
4 回答
31590 浏览

javascript - 我可以从 Vuex 中的 getter 进行调度吗

小提琴:这里

我正在使用带有 Vuex 的 Vue 2 创建一个 webapp。我有一个商店,我想从 getter 中获取状态数据,我想要的是如果 getter 发现数据尚未填充,它会调用 dispatch 并获取数据。

以下是我的 Vuex 商店:

但我收到以下错误:

未捕获的类型错误:state.dispatch 不是函数(…)

我知道我可以从beforeMountVue 组件中做到这一点,但是我有多个使用相同 Vuex 存储的组件,所以我必须在其中一个组件中执行此操作,应该是哪个组件以及它将如何影响其他组件。

0 投票
0 回答
332 浏览

javascript - 视频文件的路径未正确转换

当我使用img标签包含我的图像时,它会将我的图像路径转换为“/static/img/image.334889b.jpg”。

但是当我通过使用视频标签来播放我的视频时

它没有正确转换路径。浏览器控制台显示其路径为“ http://localhost:8080/assets/video.mp4 ”。我尝试通过谷歌搜索解决方案,我发现了这个https://github.com/vuejs-templates/webpack/issues/277,但仍然没有运气。

这是我的 webpack.base.config.js

0 投票
1 回答
3598 浏览

vue.js - 在 Vuex 商店中使用 Vue-Resource;获取最大调用堆栈大小错误

我正在尝试使用 vuex 将一个数组从我的 api 拉到一个组件中,但我很茫然,并且可能在尝试这个时不知所措。通过直接从组件访问 api,我将其设置为这样,这很好:

作为参考,json 看起来类似于:

当我将这一切都转移到商店时,我对如何实际进行这项工作失去了把握。我以前用过 vuex,只是从来没有用过 vue-resource。

我知道这是错误的,并且我收到了最大调用堆栈大小错误。this.catalog = data.body[0].threads;当我把所有东西都放在商店里时,我怎样才能得到与上面示例中发布的相同的结果 ( )?

让我知道是否有任何需要澄清的地方!我对使用 Vue 2.0 还是很陌生。

0 投票
1 回答
361 浏览

javascript - 在 Vue.js 2.0 中从导入的同级组件中改变值的正确方法是什么?

我在 Vue 2.0 中使用单文件组件方法。我有 3 个组件App(父级)AppHeader、 和FormModal. AppHeader并且FormModal是彼此的直系子女App和兄弟姐妹。

目标是当AppHeader单击按钮时,FormModal应切换可见性。我遇到的问题是理解 Vue 的单向数据流。如何将事件传递回父 ( App) fromAppHeader以使其知道改变表单的可见性?

(AppHeader.vue)

(FormModal.vue)

在这个例子中,我确实搞砸了道具的概念。我对导入模板时使用道具的正确方法感到非常困惑。

编辑:

原谅我,这是我使用 Vue 的第一天。我最初遗漏了一条非常重要的信息,即我的App.vue文件,它是我所有模板的父级。

(应用程序.vue)

总之,App 是父级。有2个兄弟姐妹,AppHeaderFormModal。当在 中单击按钮时AppHeaderFormModal应切换 的可见性。

我还没有很好地掌握 Vue 的单向数据流,我不确定如何处理这种情况。