小编Bog*_*dan的帖子

在打字稿中创建地图

我在打字稿中创建一个地图,如下所示:

let typeMap = new Map();
Run Code Online (Sandbox Code Playgroud)

并设置一个 key: string 值,如下所示:

typeMap.set("key", "value");
Run Code Online (Sandbox Code Playgroud)

我可以通过这样做成功地获得价值:

typeMap.get("key")
Run Code Online (Sandbox Code Playgroud)

但是,我想为映射设置多个键值对,并且设置每个键值会需要太多代码。我尝试这样做:

let typeMap = new Map<string, string>();
typeMap = {
   "key1": "value1",
   "key2": "value2"
   //etc
}
Run Code Online (Sandbox Code Playgroud)

但我越来越

对象文字只能指定已知属性,并且类型“Map”中不存在“key1”

我还尝试了以下方法:

  type typeMap = {
    [key: string]: string
  }
  let typeMap = {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
  }
Run Code Online (Sandbox Code Playgroud)

如果我尝试获取这样的静态值:

typeMap["key1"]
Run Code Online (Sandbox Code Playgroud)

有用。但是,我有一个变量必须作为键传递才能获取值,当我尝试执行此操作时:

typeMap[variable]
Run Code Online (Sandbox Code Playgroud)

我越来越:

元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型“{ "key1": string; “key2”:字符串;“key3”:字符串;}'。

在类型 '{ "key1": string; 上找不到参数为 'string' 类型的索引签名 “key2”:字符串;“key3”:字符串;}'

typescript

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

Laravel:vue 组件不渲染

尽管遵循了以下教程,但我的 vue 组件未在页面上呈现。我有以下布局(master.blade.php):

<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="/favicon.ico">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>Mileage</title>
    <link rel="stylesheet" href="{{ mix('/css/app.css') }}" media="all">
</head>

<body>
    <div id="app">
        <example-component></example-component>
    </div>
    <script src="{{ mix('/js/app.js') }}"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

布局由以下控制器返回(我使用 CAS 登录):

<?php

namespace App\Http\Controllers;

use App\LkpStaff;
use Illuminate\Http\Request;

class AuthController extends Controller
{
    public function login()
    {
        if (!cas()->isAuthenticated())
        {
            cas()->authenticate();
        }

        $user = cas()->user();

        $dbUser = LkpStaff::where('user_name', $user)->first(['staff_refid']);

        if ($dbUser)
        {
            $userId = $dbUser->staff_refid;
        }else …
Run Code Online (Sandbox Code Playgroud)

php laravel vue.js

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

正则表达式匹配特定格式

我真的很不擅长正则表达式(我真的无法理解我的生活)。我想要一个匹配以# 开头的子字符串的正则表达式(例如#something),但没有被方括号包围(例如[#something])。

到目前为止,我设法组合了一个匹配方括号之间的子字符串的正则表达式,如下所示:

\[([^\[\]]+)\]
Run Code Online (Sandbox Code Playgroud)

regex

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

标签 统计

laravel ×1

php ×1

regex ×1

typescript ×1

vue.js ×1