小编nit*_*ter的帖子

Vue 3 - 如何使用反应式引用并在没有 .value 的情况下进行计算?

当我们使用Options API时,我们可以在section中定义一些属性 computed,在section中定义一些属性data。所有这些都可以通过引用从实例访问this,即在同一个对象中。非常适合。

例如:

if (this.hasMore) {
   this.loading = true;
   ...
}
Run Code Online (Sandbox Code Playgroud)

其中hasMore是计算属性,loading是反应属性。

是否有可能通过Composition API做类似的事情?例如,要实现类似的代码,但其中pagination是一个简单的对象,而不是指向组件的链接,例如:

if (pagination.hasMore) {
   pagination.loading = true;
   ...
}
Run Code Online (Sandbox Code Playgroud)

computed根本不是解决方案,因为它返回并且ref其使用将与this上面示例中的使用完全不同。

javascript vue.js vue-component vuejs3 vue-composition-api

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

接口中的 TypeScript this 应该引用它自己和子元素,而不仅仅是它自己

有这样的例子:

interface A {
    method: (itself: this) => string;
}

interface B extends A {
    additionalProperty: boolean;
}

type Extend<T extends A> = A & { extension: number };

type ExtendedA = Extend<A>

type ExtendedB = Extend<B>
Run Code Online (Sandbox Code Playgroud)

沙箱

当我尝试扩展BTypeScript 时写入:

类型“B”不满足约束“A”。属性“方法”的类型不兼容。类型“(itself: B) => string”不可分配给类型“(itself: A) => string”。参数“itself”和“itself”的类型不兼容。类型“A”中缺少属性“additionalProperty”,但类型“B”中需要属性“additionalProperty”。(2344) input.tsx(6, 2):此处声明了“additionalProperty”。

而是B延伸A。它们应该是兼容的。

更新#1:

我无法解释这一点,但似乎如果我用类替换接口,则键入效果会很完美。

更新#2:

嗯,它只适用于类方法,但不适用于例如箭头函数。还是很奇怪。

更新#3

如果接口按以下方式定义,则它将不起作用:

interface A {
    method: (itself: this) => string;
}
Run Code Online (Sandbox Code Playgroud)

但如果它按以下方式定义,它就可以工作:

interface A {
    method(itself: this): …
Run Code Online (Sandbox Code Playgroud)

typescript

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

Django Rest Framework 如何发布日期字段

我想发布带有字段的 JSON 请求date

{
    "date":"2015-02-11T00:00:00.000Z"
}
Run Code Online (Sandbox Code Playgroud)

它的字符串是从Date对象自动转换的,我不想T00:00:00.000Z在前端手动裁剪该部分。

但是如果我发布这样的请求,DateField 的 Django Rest Framework 验证器会告诉我,该日期格式无效。

我的型号:

class Event(models.Model):
    name = models.CharField('Name', max_length=40, blank=True, null=True)
    date = models.DateField('Date', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我的序列化器:

class EventSerializer(serializers.ModelSerializer):
    class Meta:
        model = Event
        fields = ('id', 'name', 'date')
Run Code Online (Sandbox Code Playgroud)

解决这个问题的正确方法是什么?

django django-rest-framework

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

将矩形放置在多边形内部的算法

是否有任何算法可以将任意矩形放置在任意多边形内(我可以处理仅限凸多边形的限制)在最近的可用位置(即不与多边形相交)?

在此输入图像描述

例如,算法应该将矩形从上面的图像移动到这个位置: 在此输入图像描述

重要的是,我不知道矩形在离开多边形之前的原始位置。所以我应该找到多边形中最接近的可用位置。

algorithm collision-detection computational-geometry

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

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

如何在设置挂钩中使用 beforeRouteEnter?

如何beforeRouteEntersetup钩子中使用?

文档中没有提到onBeforeRouteEnterhook 。只有两个钩子文档和.onBeforeRouteLeaveonBeforeRouteUpdate

vue.js vue-router vue-component vuejs3 vue-composition-api

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

TypeScript - 如何过滤对象?

我正在尝试为以下函数进行正确的输入:

export function filter(obj: any, predicate: (value: any, key: string) => boolean) {
    const result: any = {};
    Object.keys(obj).forEach((name) => {
        if (predicate(obj[name], name)) {
            result[name] = obj[name];
        }
    });
    return result;
}
Run Code Online (Sandbox Code Playgroud)

是否可以保留打字内容?

typescript

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

如何在某个日期之前安装节点包及其依赖项?

是否有可能安装节点包(无论是由npmyarn)及其在某个日期之前发布的依赖项?看起来这在技术上是可行的,因为所有版本都有相应的发布日期,但我没有看到任何具体的方法。

有时,不可能获得与发布日期要求相对应的一组软件包。在这种情况下,我们可以获取尽可能早的版本。

dependencies node.js npm yarnpkg yarnpkg-v2

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