【问题标题】:How to set defaults values for a form in MEAN Stack?如何在 MEAN Stack 中为表单设置默认值?
【发布时间】: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 获取默认值,可能使用HttpClientsget 方法。收到这些值后,您可以在表单上调用 setValuepatchValue 方法将这些默认值设置为表单字段。
  • @SiddAjmera 感谢您的建议。我将按照这些步骤进行。
  • @SiddAjmera 我按照您的建议添加了代码。

标签: javascript node.js angular mongodb mean-stack


【解决方案1】:

你可以像这样直接传递查询参数

this.http.get('/defaultValues' + extrudedHeight)

应该是这样的

this.http.get('/defaultValues?extrudedHeight=' + extrudedHeight)

【讨论】:

    猜你喜欢
    • 2019-12-31
    • 2015-07-12
    • 1970-01-01
    • 2014-04-02
    • 2021-11-12
    • 2010-10-10
    相关资源
    最近更新 更多