代码之家  ›  专栏  ›  技术社区  ›  Sonhja

如何在Angularjs中更新动态ng值?

  •  0
  • Sonhja  · 技术社区  · 5 年前

    我正在尝试更新 ng-values 基于条件的下拉列表。

    这是html代码:

    <dropdown ng-model="vm.current.scheduleCompletedWithinType" ng-values="vm.completedWithinTypeValuesFiltered"
                  ng-change="vm.update()" ng-if="main.user.can.writeDefinitions"></dropdown>
    

    这个 scheduleCompletedWithinType 变量的创建方式如下:

    vm.completedWithinTypeValues = scheduleService.getFrequencyTypes()
    vm.completedWithinTypeValuesFiltered = Array.from(vm.completedWithinTypeValues)
    vm.completedWithinTypeValuesFiltered.splice(0, 1)
    

    我有一个完整的时间表 completedWithinTypeValues 变量,我打开了筛选后的变量 completedWithinTypeValuesFiltered .当输入更改时,我会执行以下操作:

    function resetCompletedWithinValues(allowTimeDue) {
        if (allowTimeDue) {
          vm.completedWithinTypeValuesFiltered = vm.completedWithinTypeValues
        } else {
          vm.completedWithinTypeValuesFiltered = Array.from(vm.completedWithinTypeValues)
          vm.completedWithinTypeValuesFiltered.splice(0, 1)
        }
    }
    

    所以 完成IntypeValuesFiltered 已更新。但我在ng值下拉列表中没有看到该值。知道我做错了什么吗?

    0 回复  |  直到 5 年前
        1
  •  0
  •   Sonhja    5 年前

    我通过以下方式实现了这一目标:

    Array.prototype.push.apply(vm.completedWithinTypeValuesFiltered, vm.completedWithinTypeValues)