小编Tou*_*pad的帖子

Typescript 为具有动态和静态键的对象创建接口

我正在尝试学习打字稿,但在界面方面遇到了障碍,我有一个对象,我想将其一一保存,token如下route所示

const obj = {
  token: 'thisismytoken',
  '/path/to/somewhere': [{ ... }]
}
Run Code Online (Sandbox Code Playgroud)

我在这里遇到的问题是:如何生成该对象的接口?

我试过了:

interface iObject {
  token: string;
  [key: string]: { ... }[]
}
Run Code Online (Sandbox Code Playgroud)

但这会产生错误:

TS2411:“字符串”类型的属性“令牌”不可分配给字符串索引类型“{ ... }”。

当我尝试类似的事情时,也会发生同样的事情:

interface iRoute {
  val1: number;
  val2: string;
}

interface iObject extends iRoute {
  token: string;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试类似的事情时:

interface iObject {
  [key: string]: { ... }[] | string;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将数据添加到路由变量时,出现以下错误:

TS2339:类型“string | ”上不存在属性“push” { ... }[]'。
类型“string”上不存在属性“push”。

还有其他方法可以做到这一点吗?

interface typescript typescript-typings

12
推荐指数
2
解决办法
4983
查看次数

不能将 migrate 与sail laravel 一起使用

嗨,我刚刚尝试安装带有风帆的 Laravel 8,但遇到了问题

我所做的是首先从 Laravel 自己的页面运行 curl one-liner

curl -s https://laravel.build/sail-test | bash
Run Code Online (Sandbox Code Playgroud)

一旦完成我就按照它说的运行

cd sail-test && ./vendor/bin/sail up
Run Code Online (Sandbox Code Playgroud)

一切都按原样开始,我可以连接到数据库,我可以在 http://localhost 上看到该站点,但是在尝试迁移时出现以下错误:

$ sail artisan migrate:install

   Illuminate\Database\QueryException 

  SQLSTATE[HY000] [2002] No route to host (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
    674?         // If an exception occurs when attempting to run a query, we'll format the error
    675?         // message …
Run Code Online (Sandbox Code Playgroud)

laravel-artisan laravel-8 laravel-sail

8
推荐指数
2
解决办法
5977
查看次数

检查地理位置是否在边界内

我正试图在一个区域的边界内生成一些地理定位,我正试图在这些边界内生成地理位置

$bounds = array(
    array(55.4024447, 13.1656691),
    array(56.1575776, 15.8350261),
    array(68.0410163, 17.4600359),
    array(58.9380148, 11.3501468),
    array(67.6820048, 16.1964251)
);
Run Code Online (Sandbox Code Playgroud)

现在我的检查结果如下

if (
    ($bounds[0][0] < $lat && $bounds[0][1] < $lng) &&
    ($bounds[1][0] < $lat && $bounds[1][1] > $lng) &&
    ($bounds[2][0] > $lat && $bounds[2][1] > $lng) &&
    ($bounds[3][0] > $lat && $bounds[3][1] < $lng) &&
    ($bounds[4][0] > $lat && $bounds[4][1] > $lng)
) {
Run Code Online (Sandbox Code Playgroud)

但是,这只能获得中间广场内的位置而不是整个区域中的位置你是否知道如何在整个区域内进行检查?

php geolocation geo

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