【发布时间】:2018-01-19 01:00:13
【问题描述】:
我说轮播上有 9 个项目。
我想在轮播图片下方显示单个项目的数量。
我创建了一个 Plunker 来演示这个问题。
HTML 代码
<head>
<script data-require="angular.js@1.2.19" data-semver="1.2.19" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js">
</script>
<script data-require="jquery@2.1.1" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="http://vasyabigi.github.io/angular-slick/bower_components/slick-carousel/slick/slick.css" />
<script src="http://vasyabigi.github.io/angular-slick/bower_components/slick-carousel/slick/slick.js"></script>
<script src="angular-slick.js"></script>
<script src="script.js"></script>
</head>
<body ng-controller="appController">
<h1>Hello Plunker!</h1>
<button type="button" ng-click="showCount()">Show count of all items</button>
<slick ng-if="dataLoaded" init-onload="false" data="dataLoaded" slides-to-show="3" dots="true">
<div ng-repeat="item in items">
<span>
<img ng-src="{{ item.imgSrc }}" alt="{{ item.catId}}" />
</span>
<span>{{ item.catId }}</span>
</div>
</slick>
JS 代码
var app = angular.module("slick-example", ["slick"]);
app.controller('appController', function($scope, $timeout) {
$scope.items = [];
// simulate that the data is loaded from a remote source
$timeout(function() {
$scope.items = [{
imgSrc: 'http://placekitten.com/325/325',
catId: '1'
}, {
imgSrc: 'http://placekitten.com/g/325/325',
catId: '2'
}, {
imgSrc: 'http://placekitten.com/325/325',
catId: '3'
}, {
imgSrc: 'http://placekitten.com/g/325/325',
catId: '4'
}, {
imgSrc: 'http://placekitten.com/325/325',
catId: '5'
}, {
imgSrc: 'http://placekitten.com/g/325/325',
catId: '6'
}, {
imgSrc: 'http://placekitten.com/325/325',
catId: '7'
}, {
imgSrc: 'http://placekitten.com/g/325/325',
catId: '8'
}, {
imgSrc: 'http://placekitten.com/325/325',
catId: '9'
}];
$scope.countItem = [{
"catId": 1,
"availableCount": 2
}, {
"catId": 2,
"availableCount": 3
}, {
"catId": 3,
"availableCount": 4
}, {
"catId": 4,
"availableCount": 2
}, {
"catId": 5,
"availableCount": 1
}, {
"catId": 6,
"availableCount": 5
}, {
"catId": 7,
"availableCount": 3
}, {
"catId": 8,
"availableCount": 2
}, {
"catId": 9,
"availableCount": 1
}];
// update the dataLoaded flag after the data has been loaded
// i dont know why but its important that the flag doesnt get initialized in an previous step like $scope.dataLoaded = false;
$scope.dataLoaded = true;
}, 2000);
$scope.showCount = function() {}
});
单击按钮(按钮 - 显示单个项目的计数)时,我试图在轮播中的每个图像下方显示单个项目的计数,但我无法找到这样做的方法。单击按钮时将显示所有项目的计数
请参考 Plunker(我只使用 AngularJS 和 vanilla JS,没有 Jquery)
请帮助我如何在每张图片下方显示轮播中单个项目的数量
【问题讨论】:
-
你想把 countItem 和 items 关联起来吗?
-
@ Jesus Carrasco 是计数或数量 - 您更喜欢这两个术语中的任何一个?但我必须同时在轮播图像下方的 div 中显示计数/数量
-
@Jesus Carrasco 我必须显示单个项目的数量,比如项目 1 的数量是 2,而项目 2 的数量是 4,我必须在每张图片下方显示这个单独的数量
-
好的,我知道你需要根据 catId 混合两个 json
-
@Jesus Carrasco 我不想混合 json 。是否可以保持 2 json 不变?
标签: javascript html css angularjs angularjs-scope