小编Ifa*_*uki的帖子

Pinia getter 不更新

我有以下代码

<script lang="ts">
import { RouterView } from "vue-router";
import defaultLayout from "@/layouts/default.vue";
import dashboardLayout from "@/layouts/dashboard.vue";
import { useDefaultStore } from "@/stores/default";
import "./index.css";
import { defineComponent } from "vue";
export default defineComponent({
  setup() {
    let { getLayout } = useDefaultStore();

    return { getLayout };
  },
  components: { defaultLayout, dashboardLayout },
});
</script>

<template>
  {{ getLayout }}
  <component :is="getLayout">
    <RouterView />
  </component>
</template>
Run Code Online (Sandbox Code Playgroud)

当我到达/dashboard我的状态时会更新,但吸气剂由于某种原因没有更新,这是为什么?

<script setup lang="ts">
import { useDefaultStore } from "@/stores/default";
let { getUserData, SET_LAYOUT, …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs3 pinia

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

Process.env 在 vi​​te 中未定义

我尝试将 Tesseract.jshttps://github.com/naptha/tesseract.js#documentation与 Vue.js 一起使用,Vue.js 使用 Vite 作为捆绑器。

我的问题是我收到此错误:

无法读取未定义的属性(读取“TESS_ENV”)

这个错误发生在内部:

module.exports = {
  ...defaultOptions,
  workerPath: (typeof process !== 'undefined' && process.env.TESS_ENV === 'development')
    ? resolveURL(`/dist/worker.dev.js?nocache=${Math.random().toString(36).slice(3)}`)
    : `https://unpkg.com/tesseract.js@v${version}/dist/worker.min.js`,
  /*
   * If browser doesn't support WebAssembly,
   * load ASM version instead
   */
  corePath: `https://unpkg.com/tesseract.js-core@v${dependencies['tesseract.js-core'].substring(1)}/tesseract-core.${typeof WebAssembly === 'object' ? 'wasm' : 'asm'}.js`,
};
Run Code Online (Sandbox Code Playgroud)

好吧,实际上我需要使用import.meta.env.MODE而不是process.env.TESS_ENV

我尝试更改 tesseract.js 代码。我进去了:

node_modules->tesseract->src->worker->浏览器->defaultOptions.js

并将其更改为,import.meta.env.MODE但由于某种原因,代码没有被应用,它仍然向我显示旧的错误。

我该如何进行这项工作?

javascript tesseract vite nuxtjs3

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

Nuxt 3服务器路由器没有响应

我已遵循“高级用法”的文档https://v3.nuxtjs.org/guide/features/server-routes#advanced-usage-examples

现在我尝试了一下:

我的文件夹结构如下:

server\api\global.ts
Run Code Online (Sandbox Code Playgroud)

这是我的文件global.ts

import { createRouter } from "h3";

const router = createRouter();

router.get("/", () => "Hello World");

export default router;
Run Code Online (Sandbox Code Playgroud)

现在我尝试获取一些数据:

export const Bloggy = {
  login({ password, username }: LoginParameterI) {
    return $fetch("/api/global", {
      method: "GET",
    });
  },
};

interface LoginParameterI {
  password: string;
  username: string;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试获取一些数据时,我收到一个错误:

[nuxt] [request error] Invalid lazy handler result. It should be a function
Run Code Online (Sandbox Code Playgroud)

我想将它与路由器一起使用,因为我想对某些路由使用某些中间件。在 nuxt 文档中,中间件将在每条路线上触发

我究竟做错了什么?

javascript typescript nuxt.js nuxtjs3

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

为什么需要引用索引?

我目前正在从 JavaScript 学习 Rust。

我的问题如下:

fn main() {
    let name = String::from("Tom");
    let sliced = name[..2];
    println!("{}, {}", name, sliced);
}
Run Code Online (Sandbox Code Playgroud)

这不起作用。说"doesn't have a size known at compile-time"

为了解决这个问题,我需要添加&引用运算符。

fn main() {
    let name = String::from("Tom");

    let sliced = &name[..2];

    println!("{}, {}", name, sliced);
}
Run Code Online (Sandbox Code Playgroud)

我知道我需要&在 name 之前添加并且&是引用运算符。但我只是不知道为什么我真的需要这样做?

通过引用变量,引用引用变量name但不拥有它。如果我的引用超出范围,则不会删除原始值。这是否意味着如果我这样做了变量会超出范围name[...]并且变量被删除并且因此我需要创建对它的引用来防止这种情况发生?

有人可以给我解释一下吗?

indexing slice rust

4
推荐指数
1
解决办法
98
查看次数

mongodb 使用 $reduce 将值推入数组

我有这样的文档结构:

_id: 123,
posts: [
   {
      _id: 234,
      likesUser: [345, 456, 567, 678]
   }
]
Run Code Online (Sandbox Code Playgroud)

我想在这里使用$reduce,所以我的预期输出应该如下所示:

   output: {
      likes: [23, 31, 12, 32],  //each element is the size of the "likesUser" array
      ids: ["14312", "2342", "2312", "235234"]  //each element is the "_id" in the posts array
   }
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这样的:

  let result = await Post.aggregate([
    {
      $match: {
        _id: USER
      }
    },
    {
      $project: {
        posts: {
          $reduce: {
            input: "$posts",
            initialValue: { likes: [], ids: [] },
            in: { …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

打字稿参数中允许的最小数量

我有一个类似的功能:

function getBlogs(limit?: number) { ... }
Run Code Online (Sandbox Code Playgroud)

只能limit是正整数,不能是0

我如何告诉打字稿这个数字只能大于0?

javascript typescript

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

从向量中获取最后一个元素

我有这段简单的代码:

fn main() {
    let mut blockchain: Vec<blockchain::Block> = Vec::new();

    let genesis_block = blockchain::create_block("genesis_block");

    blockchain::add_block_to_blockchain(&mut blockchain, genesis_block);
}
Run Code Online (Sandbox Code Playgroud)

我的错误发生在这里:

pub fn get_last_block(blockchain: &Vec<Block>) -> Block {
    return blockchain[blockchain.len() - 1];
}
Run Code Online (Sandbox Code Playgroud)

它说:

在此输入图像描述

我对 Rust 还很陌生,所以有人可以解释一下为什么这不起作用吗?

我只是想获取这个向量的最后一个元素。

我应该传递这个向量的所有权而不是借用它吗?

编辑:这是我现在的结果:

pub fn get_last_block(blockchain: &Vec<Block>) -> Option<&Block> {
    return blockchain.last();
}
Run Code Online (Sandbox Code Playgroud)

blockchain可能是空的。我检查is_some它是否返回一个值

let block = blockchain::get_last_block(&blockchain);
if block.is_some() {
    blockchain::print_block(block.unwrap());
}
Run Code Online (Sandbox Code Playgroud)

rust

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

打字稿多维数组类型

目前我有一个具有这种类型的数组:

handlers: string[][]
Run Code Online (Sandbox Code Playgroud)

它有例如: [["click", "inc"], ["mousedown", "dec"]]

现在我想将我的结构更改为:

[[{ handler: "click", modifiers: ["enter"] }, "inc"]]
Run Code Online (Sandbox Code Playgroud)

我如何定义我的第二个 arra 的第一个元素是一个包含名为handlerand的属性的对象modifiers

javascript typescript

0
推荐指数
1
解决办法
85
查看次数