【发布时间】:2018-10-01 09:22:26
【问题描述】:
MEAN 堆栈和 Angular 6 的新手。使用 MEAN 堆栈开发 Web 应用程序。单击button 后需要将默认值加载到form。
为此将实现button 函数。需要访问 mongodb 集合并从数据库中获取默认值。
如何访问默认值?在正常的 CRUD 函数中遵循List details by id 方法是否正确。有没有更好的办法?在angular-5-crud-web-application-example 上遵循本教程。
---更新---
第 1 步:首先我将默认数据发布到数据库。 我为该数据集设置了 username="default" 。 第 2 步:然后我创建了一个 REST API 来使用用户名获取该数据集
//Get single value by userName
router.get('/:userName', function(req, res, next) {
extrudedHeightValue.findOne({'userName': req.params.userName}, function (err, post) {
if (err) return next(err);
res.json(post);
});
});
STEP 3: 然后设置按钮点击的方法 html中的按钮
<div class="form group">
<input type="text" nbInput name="extrudedHeight" [(ngModel)]="extrudedHeight" />
</div>
<div class="">
<button type='button' (click)="setDefaultValues(extrudedHeight)" class="btn btn-sm btn-rectangle btn-default text-case">Default Values</button>
</div>
第 4 步: 实现了按钮点击获取默认值如下。
在.ts文件中,
ngOnInit()
{
this.getDefaultValue(this.route.snapshot.params['userName']);
}
getDefaultValue(userName){
this.http.get('/extrudedHeight/'+userName).subscribe(**data** => {this.extrudedHeightValue = data;});
}
setDefaultValues(){
this.getDefaultValue("default");
//This method has not been completely implemented according to the requirement.
}
但是当我调试时,“getDefaultValue(userName)”方法中的粗体“数据”显示错误:输入意外结束。当我搜索这个错误时,它说这个错误是由于没有右括号等引起的。但我无法确定它是什么。 其他数据显示“未定义数据”。所以没有显示这些值。
【问题讨论】:
-
在您的问题中分享一些代码,您打算如何实现相同的目标?
-
这就是我遇到的问题。不知道怎么写对应的方法。我添加了我将要遵循的教程。但我不清楚将其应用到我的场景中。
-
让我们将其分解为三个步骤。第 1 步,您将创建一个可让您获取默认值的 REST API。第 2 步,您将在 Angular 中创建一个带有按钮的反应式表单,单击该按钮时会获取默认值。第 3 步。您必须从该 API 获取默认值,可能使用
HttpClients的get方法。收到这些值后,您可以在表单上调用setValue或patchValue方法将这些默认值设置为表单字段。 -
@SiddAjmera 感谢您的建议。我将按照这些步骤进行。
-
@SiddAjmera 我按照您的建议添加了代码。
标签: javascript node.js angular mongodb mean-stack