<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.8/slick.css" />
<link rel="stylesheet" href="style.css" />
<script data-require="jquery@*" data-semver="2.1.4" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.8/slick.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-aria.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-messages.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.9/angular-material.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular-route.min.js"></script>
<script src="//rawgit.com/devmark/angular-slick-carousel/master/dist/angular-slick.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="app">
<div class="container" ng-controller="SlickController">
<slick class="slides" data="viewData" dots="true" ng-if="viewLoaded" settings="slickPanels">
<div ng-repeat="view in viewData">
<div class="slide slide-4">
<div>{{view.text}}</div>
</div>
</div>
</slick>
<button ng--click="updateView()">
Update View
</button>
</div>
</body>
</html>
// Code goes here
(function() {
"use strict";
angular.module('app', ['slickCarousel' ]);
function SlickController($rootScope, $window, $location, $scope, $timeout, $compile) {
var vm = this;
$rootScope.viewData = [{
text: "My View1",
property: 0
}, {
text: "My View1",
property: 0
}, {
text: "My View1",
property: 0
}];
$rootScope.viewLoaded = true;
$rootScope.updateView = function() {
$rootScope.viewLoaded = false;
$rootScope.viewData.push({
text: "My View" + $rootScope.viewData.length
});
$timeout(function() {
$rootScope.viewLoaded = true;
});
};
$scope.slickPanels = {
method: {},
dots:false,
infinite: false,
speed: 300,
slidesToShow: 4,
slidesToScroll: 1,
autoPlay: false,
adaptiveHeight: true,
event: {
beforeChange: function() {
console.log("before change called");
},
afterChange: function() {
console.log("after called");
}
}
};
}
SlickController.$inject = ["$rootScope", "$window", "$location", "$scope", "$timeout", "$compile"];
angular
.module('app')
.controller('SlickController', SlickController);
})();
/* Styles go here */
.slides {
background-color: #eee;
}
.slide {
color: #fff;
/* width: 25%; */
/* height: 120px; */
font-size: 20px;
line-height: 150px;
text-align: center;
}
.slide-1 {background-color: red;}
.slide-2 {background-color: blue;}
.slide-3 {background-color: green;}
.slide-4 {background-color: orange;}
.slide p {
color: #fff;
}