来自多个输入的值保存在一个数组中

时间:2017-07-26 19:32:27

标签: angularjs node.js express mongoose

我在mongodb的一个数组中保存多个输入的值。我尝试在track by $index中使用ng-model,但我认为这不足以做什么。问题是:

  1. 现在如果我使用$index ng-model works属性,如果我保存数据,我会收到错误Cast to Array failed for value " }" at path "description"

  2. 如果我不在数据库中使用track by $index,只保存第一次输入的值,并且我有一个项目的数组

  3. 的index.html

    <div class="form-group">
      <div class="input-group mb-2 mr-sm-2 mb-sm-0">
        <div class="input-group-addon">
          <i class="fa fa-pencil"></i>
        </div>
        <input ng-disabled="product.disabled" type="text"
               ng-model="product.productData.description[$index]" 
               name="description" class="form-control" required>
        <div class="input-group-addon">
          <a ng-click="addfield()" class="add-field">
            <i class="fa fa-plus"></i>
          </a>                           
        </div>
      </div>
      <div ng-repeat="item in inputs track by $index">
        <div class="input-group mb-2 mr-sm-2 mb-sm-0 repeat-input">
          <div class="input-group-addon">
            <i class="fa fa-pencil"></i>
          </div>
          <input ng-disabled="product.disabled" type="text"
                 ng-model="product.productData.description[$index]"
                 name="description" class="form-control" required>
        </div>
      </div>
    </div>
    

    API

        router.post('/courses', function(req, res){
        var course = new Product();
        course.description  = req.body.description;
            course.save(function(err){
                if(err){
                  console.log(err)
                } else {
                    res.json({success:true, message:'saved!'});
                }
            })
        });
    

    服务

        userFactory.createNewCourse = function(productData){
        return $http.post('/api/courses', productData)
    }
    

    在视图中看起来: enter image description here

    我想在一个数组中保存这些输入的值

0 个答案:

没有答案