JavaScript-对象长度处理和Angular.js

时间:2018-10-21 22:37:50

标签: javascript angularjs object

我的应用在使用AngularJS的选项卡式屏幕中具有一个SLIDER和一个Toggle选项。

问题是这样的。在应用程序和功能正常工作的同时,当您加载页面,转到另一个选项卡并返回时,您可以在Browse with上看到两个选项,并且滑块消失。

我发现,如果从if语句中删除changes.paging.currentValue,它将起作用。但是问题是这样的。如果.length返回undefinednull怎么办。它将引发错误。

我该如何解决?

HTML代码,在Angular组件中:

<div class="col-lg-7 col-md-7 col-sm-6 hidden-sm hidden-xs" ng-show="$ctrl.paging">
    <span class="ml10 pl0">
        <a class="pull-left f10 m10" ng-repeat="item in $ctrl.paging track by $index" ng-hide='item.type===$ctrl.parameters.type'
            ng-click="$ctrl.changeBrowsingType(item, $ctrl.parameters.partition.id)">Browse with {{item.label}}</a>

        <rzslider ng-if="$ctrl.parameters.type === $ctrl.browsingType.OPTION1" rz-slider-model="$ctrl.parameters.start"
            rz-slider-options="$ctrl.slider.options" class="custom-slider"></rzslider>

        <rzslider ng-if="$ctrl.parameters.type === $ctrl.browsingType.OPTION2" rz-slider-model="$ctrl.timestampStart"
            rz-slider-options="$ctrl.slider.options" class="custom-slider"></rzslider>
    </span>
</div>

控制器中有问题的功能

  const onChangesFn = (changes) => {
    if (changes.paging.currentValue && changes.paging.currentValue.length) {
      ctrl.paging = changes.paging.currentValue;
      **...more code functionality**
      };

**....more code here**
    }
  };

感谢您的时间。

0 个答案:

没有答案