小编Mar*_* G.的帖子

IntelliJ更新 - >通过lambda获取错误

我今天早上更新了我的IntelliJ IDEA,之后我打开了我的项目,突然间我的lambda表达式出错了.

首先我得到了这个:

Lambda expressions not supported at this language level
Run Code Online (Sandbox Code Playgroud)

然后我尝试更改Project Langugage级别,然后将其设置回默认值.现在我得到这个:

Error:(39, 46) java: lambda expressions are not supported in -source 1.7
  (use -source 8 or higher to enable lambda expressions)
Run Code Online (Sandbox Code Playgroud)

IntelliJ项目结构选项:

在此输入图像描述

这是我的lambda:在我更新IntellJ之前我再说一遍它:

response.getData().stream().filter(a -> a.getStart_time() > WTStandards.getUnixTime()).forEach(eventList::add);
Run Code Online (Sandbox Code Playgroud)

java lambda intellij-idea

9
推荐指数
1
解决办法
1071
查看次数

Typescript,类没有定义

我搜索过,我找到的答案对我没有帮助.

我在Typescript中创建了一个类,并希望通过它将其导入另一个Typescript-File

import '../EventDTO';
Run Code Online (Sandbox Code Playgroud)

比我查看转换后的文件(main.js),我的所有打字稿文件都转换为.在那里,还有我写过的课程,但是当我想在我的文件中使用它时:

eventList[i] = new EventDTO(data[i].id);
Run Code Online (Sandbox Code Playgroud)

我在浏览器中遇到此错误:

未捕获的ReferenceError:未定义EventDTO

EventDTO课程:

class EventDTO{

    id: number;

    constructor(_id: number){
            this.id = _id;
    }

    getId(){
        return this.id;
    }
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么做呢?

javascript typescript

8
推荐指数
1
解决办法
5807
查看次数

NuxtJS 页面创建了两次

我目前在NuxtJS中面临一个问题,其中一个方法被调用两次,因此请求被发送两次。

这发生在一个页面中并且被调用两次的方法被创建()。

我使用如下参数打开页面:

http://localhost:3000/mypage?token=123123123
Run Code Online (Sandbox Code Playgroud)

在页面的 created() 方法中,我调用了商店调度。

created() {
    if (this.token === undefined || this.token === null) {
      this.$router.push('/login')
    } else {
      console.log('called created() and sent dispatch')
      this.$store.dispatch('thirdPartyLogin', {
        token: this.token
      })
    }
  },
Run Code Online (Sandbox Code Playgroud)

令牌通过 data 属性解析:

data() {
    return {
      token: this.$nuxt.$route.query.token
    }
  },
Run Code Online (Sandbox Code Playgroud)

问题在于它是一次性令牌,这意味着它在使用一次后无效。因此,在第二次调用之后,请求不再成功。

为什么页面被创建两次或 created() 被调用两次?

在此处输入图片说明

vue.js server-side-rendering nuxt.js

6
推荐指数
1
解决办法
2143
查看次数

带有自定义按钮的 HTML5 视频无法在 safari 12 上播放

Safari 已阻止自动播放完全可以理解的视频。但我必须找到一种解决方法,让视频“自动”播放。\n顺便说一句,我使用VueJS

\n\n

视频:

\n\n
<video preload="auto" id="videowizy" class="video mockup-size">\n    <source src="../assets/video.mp4" type="video/mp4">\n</video>\n
Run Code Online (Sandbox Code Playgroud)\n\n

该视频仅在按下自定义播放按钮时播放

\n\n
<a id="play" @click="startVideo">Play Video \xe2\x96\xb6</a>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我从.play();开始 功能。

\n\n
this.videoStarted = true;\nwindow.setTimeout(() => {\n    this.videoVisible = true;\n    var video = document.getElementById(\'videowizy\');\n    video.addEventListener(\'ended\',this.stopVideo,false);\n    video.play();\n},2000)\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在回答问题。Safari 12 向我抛出以下错误

\n\n
\n

未处理的承诺拒绝:NotAllowedError:当前上下文中的用户代理或平台不允许该请求,可能是因为用户拒绝了权限。

\n
\n\n

当我使用controls=true时我会被修复,但是当我使用controls=true时我无法按播放,因为视频绝对位于框架后面(以模拟手机的模型)。\n有没有办法说“嘿这个是播放按钮,请让我玩 Safari”?

\n\n

提前致谢!

\n

html javascript safari html5-video vue.js

5
推荐指数
0
解决办法
1468
查看次数

使用 Typescript 注入 Vue 3

我使用了新的 Vue 3 Composition API 并为响应式数据编写了一个“存储”。

const state = reactive<State>({
  accessToken: undefined,
  user: undefined,
});

export default {
  state: readonly(state),
}
Run Code Online (Sandbox Code Playgroud)

在创建应用程序时,我向所有组件提供商店:

const app = createApp(App)
  .provide("store", store)
  .use(IonicVue)
  .use(router);
Run Code Online (Sandbox Code Playgroud)

最后在一个组件/视图中,我注入了 store 来使用它。

export default defineComponent({
  name: "Home",
  inject: ["store"],
  components: {
    IonContent,
    IonHeader,
    IonPage,
    IonTitle,
    IonToolbar,
    IonButton,
  },
  computed: {
    email() {
      return this.store.state.user.email;
    },
  },
});
</script>
Run Code Online (Sandbox Code Playgroud)

不幸的是,Typescript 不喜欢this.store计算属性中使用的方式email()

并说

类型“ComponentPublicInstance<{}、{}、{}、{ email(): any;”上不存在属性“store”;}, {}, EmitsOptions, {}, {}, false, ComponentOptionsBase<{}, {}, {}, …

typescript vue.js vuejs3

5
推荐指数
2
解决办法
1817
查看次数

两个物体之间的欧几里德距离

首先我知道欧几里得距离是什么以及它在两个向量之间做什么或计算什么。

但我的问题是关于如何计算两个类对象之间的距离,例如在 Java 或任何其他 OOP-Language 中。我读了很多关于机器学习的东西,已经使用库等编写了一个分类器,但我想知道当我有这个对象时,欧几里得距离是如何计算的:

class Object{
    String name;
    Color color;
    int price;
    int anotherProperty;
    double something;
    List<AnotherObject> another;
}
Run Code Online (Sandbox Code Playgroud)

我已经知道的(如果我没有错!)是我必须将此对象转换为一个(n)向量/数组表示属性或“功能”(在机器学习中调用?)

但是我该怎么做呢?这正是我需要的一块拼图,以了解更多。

我是否必须收集属性的所有可能值才能将其转换为数字并将其写入数组/向量中?

示例

我猜上面的对象将由一个 6 维数组或更小的基于计算所需的“特征”来表示。假设颜色、名称和价格是基于以下数据的数组/向量的必要特征:

  • 颜色:绿色(让我们说一个有 5 个可能值的枚举,其中绿色是第三个)
  • 名称:“foo”(我不知道如何转换这个可能使用添加 ascii 代码?)
  • 价格:14(只取整数?)

会像这样吗?

[3,324,14]
Run Code Online (Sandbox Code Playgroud)

如果我对来自同一类的每个对象都这样做,我就可以计算欧几里得距离。我是对的还是我误解了什么,还是完全错误?

java oop euclidean-distance

3
推荐指数
1
解决办法
1868
查看次数

来自另一个类的打字稿函数

我对打字稿很陌生,但现在我遇到了问题。我在每个类中都用 Typescript 编写了一个函数

function someFunction(){
}
Run Code Online (Sandbox Code Playgroud)

现在我想从另一个 TS 文件调用该函数,我将其声明如下:

declare function someFunction(): void;
Run Code Online (Sandbox Code Playgroud)

但这在浏览器控制台中不起作用我收到错误

未捕获的 ReferenceError: someFunction() 未定义

文件一看起来像:

export class SomeClass{
}

export function someFunction(){
}
Run Code Online (Sandbox Code Playgroud)

文件二:

///<reference path="File1.ts" />
export class SomeOtherClass{
 someFunction();
}
Run Code Online (Sandbox Code Playgroud)

typescript

2
推荐指数
1
解决办法
8542
查看次数