如何获取范围 AngularJS 中的变量值

How to get value of variable in scope AngularJS

我的 ng-repeat="slide in slides" 和我的代码看起来像这样:

slides = [{ src: "/sikiosk/slidedata/Global/NA/USNS/Cafeteria/5000_24.jpg", interval: 5000 }, { src: "/sikiosk/slidedata/Global/NA/USNS/Cafeteria/5000_login-register2.png", interval: 15000}];

检索间隔并将每个间隔存储为变量的最佳方法是什么?例如,对于幻灯片 1,间隔为 5000 等等。

function nextSlide() {
            $scope.currentIndex = ($scope.currentIndex < $scope.slides.length - 1) ? ++$scope.currentIndex : 0;
            $timeout(nextSlide, interval);
        }

假设您想要 interval 变量中的幻灯片间隔:

function nextSlide() {
    $scope.currentIndex = ($scope.currentIndex < $scope.slides.length - 1) ? ++$scope.currentIndex : 0;
    var interval = $scope.slides[$scope.currentIndex].interval;
    $timeout(nextSlide, interval);
}

听起来 slides 是一个对象数组,每个对象都有一个间隔 属性 对吗?你可以这样做:

var interval = $scope.slides[$scope.currentIndex].interval

或者,如果您更喜欢只包含间隔的数组,您可以使用 lodash 之类的东西(请注意 ES6 粗箭头的使用——如果您愿意,可以将其替换为回调):

var intervals = _.select($scope.slides, (x) => x.interval)

有回调

var intervals = _.select($scope.slides, function(x){return x. interval})