问题标签 [vue-class-components]
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.
typescript - 如何在 vue-class 中为 v-model 使用计算属性?
我想将 v-model 用于带有 vuex 的 vuedraggable 插件,但我不知道如何在@Component
装饰器中设置计算属性,如下所示。对此有其他解决方案吗?
typescript - 使用打字稿时在Vue项目中注册第三方包
我在我使用 vue-cli 创建的 vue.js 项目中安装了一个包,并且我正在使用 typescript。该软件包用于 google 的社交身份验证。https://www.npmjs.com/package/vue-google-oauth2
现在,当我在 main.ts 文件中导入包时,它会给出如下错误:
找不到模块“vue-google-oauth2”的声明文件。隐含地具有“任何”类型。
尝试
npm install @types/vue-google-oauth2
它是否存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'vue-google-oauth2';
我只需declare module 'vue-google-oauth2';
在我的 shims.d.ts 文件中添加该行即可消除该错误。但是,既然这个问题已经解决,即使应用程序运行良好,我的终端仍然会出现另一个错误。新的错误如下:
“AuthMixin”类型上不存在属性“$gAuth”
基本上我正在使用 this.$gAuth ,即使它正在工作,终端仍然说它在我的 vue 实例中不存在。我怎样才能让这个错误消失?
typescript - vue-class-component:如何创建和初始化反射数据
我正在使用带有 typescript 和 vue-class-component 的 vuejs。我正在尝试使用反应数据创建自定义组件。
这是我的代码:
在第一个版本中,我遇到了这个错误:
属性或方法“数据”未在实例上定义,但在渲染期间被引用
这很正常,正如 vue-class-component 页面中所说,未定义的数据不会反射。我需要将数据初始化为空。此外,我得到这个打字稿错误:
属性“数据”没有初始值设定项,也没有在构造函数中明确分配
所以我想这样做:
但我得到这个打字稿错误:
“null”类型不能分配给“Model”类型。
我不想将数据类型更改为,Model | null
因为我必须检查数据是否在任何我将使用它的地方都为空,而且我知道数据永远不会为空。
也不起作用,因为数据将是未定义的,因此不会是反应性的。
我不想关闭打字稿检查,因为它们对代码的其他部分很有用。
这里有初始化数据的正确方法吗?
typescript - 反应性:更改数组中的属性,应用于窗口事件
简单用例:特定元素应通过将属性“active”设置为 true (v-bind:class) 来获得活动类。在检查一些条件后,在方法“handleScroll”中,在 foreach 循环中设置属性“active”。
如果我在创建的生命周期中直接调用“handleScroll”,这将有效。
如果我在窗口事件中调用“handleScroll”,反应性就会丢失。
改变
到
不起作用。该方法已执行,但模板中的反应性丢失。
问题:如何在全局窗口事件中设置这些属性并将它们分配回视图?
vue.js - babel-standalone 不转译 esm 模块
我想写 vue demo 用于教育教学目的,为了只关注 vue 部分,我不想介绍 npm、webpack 或 browserify 之类的 bundler 等。
所以我使用babel-standalone
. 我也想用vue-class-component
。但是现在我无法使用 and 的构建esm
,总之我想支持在我的 main.js 中编写这样的代码vue
vue-class-component
如果我像上面那样编写代码,我会Uncaught ReferenceError: require is not defined
出错。
现在我可以使用以下样式使其工作,但使用Component
ofvue-class-component
很难看。
更多细节可以在https://github.com/liudonghua123/todos/tree/master/todos-vue-class-component
typescript - 如何简化和重置从父组件到子组件的道具?
我正在尝试重置作为道具传递给子组件的数据。我该怎么写这个?
上下文:我正在将 ThreeJS 实现转换为 Vue/Typescript。它包括一个控制面板,由滑块输入控制三个画布的参数组成。我将这个庞大的单体原始代码分成 3 个组件: - child1:controlsPanel,包含滑块和重置按钮 - child2:Vue-GL 画布,发出鼠标事件 - parent:托管初始数据和重置的组件。
家长:
子代码:
属性 prop1 和 prop2 由 Child1 组件控制并由 Child2 使用。Child2 也可以更新这些道具(通过鼠标事件),这应该适当地更新 Child1 中的滑块。
我设法让 Typescript 开心,但代价是到处打字……
问题1:有没有办法在保持孩子和父母 App 之间的 2way-bindings 的同时简化?(2way-bindings 不适用于上述代码)
问题2:如何重置所有道具?我的 child1.resetCamera 似乎调用了父 reset() 但道具没有重置......
typescript - 销毁事件挂钩中的 Vue 错误处理不起作用
似乎 Vue 中的错误处理有时对我不起作用。如果我写:
我在浏览器控制台中正确地看到了错误。但如果我写:
没有错误。如果我将destroyed
钩子更改为:
我可以看到错误 - 因此代码被执行,错误被忽略。我不确定这是一个错误,一个功能 - 或者我只是在做一些愚蠢的事情。
我想我见过其他带有其他钩子的案例——但我不记得是哪个。
我正在使用Vue
:2.6.6 和Vue-Class-Component
:6.3.2
typescript - vue-class-component : 调用类方法时 TS2339
我正在使用 vue-cli-service 来构建我的 vuejs 应用程序。
构建成功,但在 webstorm IDE 中,我收到一些 TS2339 错误:
测试.vue:
测试规范:
在 Test.spec.ts 中,我在编辑器和打字稿窗口中都收到此错误:
错误:(14, 21) TS2339:“Vue”类型上不存在属性“方法”。
但是测试没问题,所以test.method()
在运行时就成功解决了。
typescript - 使用带有 Vue 和 TypeScript 类装饰器语法的外部定义组件
我正在尝试使用vue-form-wizard
Vue 组件,使用由vue-class-component
.
这是我的.vue
文件:
这是 TypeScript 生成的错误:
我很确定这是因为FormWizard
没有扩展或以其他方式实现 Vue。但我不知道如何强制转换组件或以其他方式强制 TypeScript 相信这FormWizard
是一个 Vue 组件。
是否有可能FormWizard
只是错误的类型?
如果是这样,我该怎么做才能解决它?
vue.js - 启用自动注入模式时,对子组件的 vee-validate 父 $validator 注入不起作用
我正在使用vue-class-component
, vue-property-decorator
,我想像这样将父 $validator 传递给子组件。
但是,它不起作用。
但是,当我像这样禁用自动注入Vue.use(VeeValidate, {inject: false});
并$validator
在父组件中新建时。
我只是在子组件中添加注入代码,所以一切正常!
我想使用自动注入。(我不想对每个组件都明确表示新)在我的情况下,为什么不使用启用自动注入的组件注入?
先感谢您。