【问题标题】:ng-model is not working correctlyng-model 工作不正常
【发布时间】:2016-03-10 03:13:49
【问题描述】:

我正在开发 MEAN Stack Web 应用程序。我正在尝试在我的一个模型中使用二维数组。这是特定字段的架构:

alerts:  [{ name: String, time: Number}]

现在我正尝试在我的 UI 应用程序中访问它。这是我访问数据的方法。

控制器中的代码:

 $scope.getalerts = function(){
          console.log("Getting Alerts Tasks...!");

            for (var i = 0; i < $scope.task.alerts.length; i++) {
                if ($scope.task.alerts[i].name == "NewUserAssigned") {
                            $scope.task.NewUserAssigned = true;
                            $scope.task.NewUserAssignedtime = $scope.task.alerts[i].time;
                        }
                    else if ($scope.task.alerts[i].name == "EditedDeleted") {
                            $scope.task.EditedDeleted = true;
                            $scope.task.EditedDeletedtime = $scope.task.alerts[i].time;
                        }

                }

查看代码:

                        <uib-tab index="4" heading="Alerts" class="nav nav-tabs">

                        <div id="task_alerts" class="tab-pane">

                            <div class="alert_block">
                              <div class="task_checkbox">
                                <input type="checkbox" class="checkbox-custom" id="assign_task_new_user" ng-model="task.NewUserAssigned" ng-checked="task.NewUserAssigned == true" alerts-block>
                                <label for="assign_task_new_user"  class="checkbox-custom-label">When a New User Assigned</label>
                              </div>
                              <div class="alert_reminder col-lg-5" ng-if="task.NewUserAssigned == true">
                                <select class="alert_reminder_dd" ng-model="task.NewUserAssignedtime" >
                                  <option value="1">1 Day Prior</option>
                                  <option value="2">2 Day Prior</option>
                                  <option value="3">3 Day Prior</option>
                                  <option value="4">4 Day Prior</option>
                                </select>
                                <div class="dd_caret"></div>
                              </div>
                            </div>

                            <div class="alert_block">
                              <div class="task_checkbox">
                                <input type="checkbox" class="checkbox-custom" id="edit_delete_task" ng-model="task.EditedDeleted" ng-checked="task.EditedDeleted == true" alerts-block>
                                <label for="edit_delete_task" class="checkbox-custom-label">Task is Edited / Deleted</label>
                              </div>
                              <div class="alert_reminder col-lg-5" ng-if="task.EditedDeleted == true">
                                <select class="alert_reminder_dd" ng-model="task.EditedDeletedtime">
                                  <option value="1">1 Day Prior</option>
                                  <option value="2">2 Day Prior</option>
                                  <option value="3">3 Day Prior</option>
                                  <option value="4">4 Day Prior</option>
                                </select>
                                <div class="dd_caret"></div>
                              </div>
                            </div>


                        </div>   

                    </uib-tab>

如果我在控制台调试它,它会正确保存数据。但是当它从 db 访问数据时,它的作用是正确检查选项,但不更新 时间模型 中的值。第二件事是它没有在控制台上显示数组值(从数据库中获取值之后)。

【问题讨论】:

    标签: angularjs mongoose mean-stack


    【解决方案1】:

    使用 ng-options 代替 ng-repeat

    https://docs.angularjs.org/api/ng/directive/ngOptions

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 1970-01-01
      • 2017-01-18
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 2016-08-24
      相关资源
      最近更新 更多