我在打字稿中创建一个地图,如下所示:
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”:字符串;}'
尽管遵循了以下教程,但我的 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) 我真的很不擅长正则表达式(我真的无法理解我的生活)。我想要一个匹配以# 开头的子字符串的正则表达式(例如#something),但没有被方括号包围(例如[#something])。
到目前为止,我设法组合了一个匹配方括号之间的子字符串的正则表达式,如下所示:
\[([^\[\]]+)\]
Run Code Online (Sandbox Code Playgroud)