当我们使用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
上面示例中的使用完全不同。
有这样的例子:
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)
沙箱。
当我尝试扩展B
TypeScript 时写入:
类型“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) 我想发布带有字段的 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)
解决这个问题的正确方法是什么?
是否有任何算法可以将任意矩形放置在任意多边形内(我可以处理仅限凸多边形的限制)在最近的可用位置(即不与多边形相交)?
重要的是,我不知道矩形在离开多边形之前的原始位置。所以我应该找到多边形中最接近的可用位置。
Vue.delete
Vue 3 的新 Reactivity API 中的替代方案是什么?
如何beforeRouteEnter
在setup
钩子中使用?
文档中没有提到onBeforeRouteEnter
hook 。只有两个钩子文档和.onBeforeRouteLeave
onBeforeRouteUpdate
我正在尝试为以下函数进行正确的输入:
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)
是否可以保留打字内容?
是否有可能安装节点包(无论是由npm
或yarn
)及其在某个日期之前发布的依赖项?看起来这在技术上是可行的,因为所有版本都有相应的发布日期,但我没有看到任何具体的方法。
有时,不可能获得与发布日期要求相对应的一组软件包。在这种情况下,我们可以获取尽可能早的版本。
vue.js ×3
vuejs3 ×3
typescript ×2
algorithm ×1
dependencies ×1
django ×1
javascript ×1
node.js ×1
npm ×1
vue-router ×1
vuejs2 ×1
yarnpkg ×1
yarnpkg-v2 ×1