假设我有一个这样的函数:
def A(test=False):
if test:
return 1
return "no value passed in for test"
Run Code Online (Sandbox Code Playgroud)
在 Typescript 中,你可以做类似的事情
function A(test=false) <number | string> {
...
}
Run Code Online (Sandbox Code Playgroud)
但如果我尝试用 Python 做同样的事情,我会得到一个错误。
def A(test=False) -> (int, str):
def A(test=False) -> [int, str]:
def A(test=False) -> int or str:
Run Code Online (Sandbox Code Playgroud)
在处理类型检查中的歧义方面,我对 Python 有了更好的理解。所以这可能不是问题。但我很感兴趣是否有正确的方法可以做到这一点。
我正在尝试在我的网站内创建一个论坛。在努力使用模板驱动表单来实现之后,我决定切换到响应式表单。我一直在整个网站上的两种方法之间切换,并意识到反应式表单有一个缺点,这导致我选择模板驱动的表单,并且我怀疑有一种值得解决的解决方法。我遇到的问题是,当用户想要编辑他们已经创建的内容时,我使用与创建时相同的表单,但将文档 ID 附加到路径中,如下所示:
localhost:4200/create-thread/some-thread-uid
当遵循此路线时,它会加载创建线程组件,但将已提供的数据预加载到适当的表单控件中。这是通过使用双向绑定将线程对象附加到相关表单的 ngModel 来完成的。像这样:
<!-- <form #finished="ngForm" (ngSubmit)="save(finished.value)">
<div class="form-group">
<label for="author">Author of thread:</label>
<input
#author="ngModel"
[(ngModel)]="thread.author"
name="author"
id="author"
class="form-control"
required
type="text">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我的问题是,有没有办法使用反应式表单来完成此任务(将云数据库中存储的对象中已提供的信息加载到输入字段中进行编辑)?我尝试了几种方法但无法弄清楚,包括将“thread.author”注入到表单生成器中的适当字段。任何帮助表示赞赏。