AngularJS-Slider in AngularUI Tabs
Yes it is possible!
by ValentinH
HTML
<link rel="stylesheet" href="https://rawgit.com/rzajac/angularjs-slider/master/dist/rzslider.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.13.4/ui-bootstrap-tpls.min.js"></script>
<script src="https://rawgit.com/angular-slider/angularjs-slider/master/dist/rzslider.js"></script>
<div ng-app="myapp">
<div ng-controller="TestController as vm">
<p>Price 1: {{vm.priceSlider1.value}}</p>
<p>Price 2: {{vm.priceSlider2.value}}</p>
<tabset>
<tab heading="Slider 1" select="vm.refreshSlider()">
<rzslider rz-slider-model="vm.priceSlider1.value" rz-slider-options="vm.priceSlider1.options" ></rzslider>
</tab>
<tab heading="Slider 2" select="vm.refreshSlider()">
<rzslider rz-slider-model="vm.priceSlider2.value" rz-slider-options="vm.priceSlider2.options"></rzslider>
</tab>
</tabset>
</div>
</div>
JavaScript
var myApp = angular.module('myapp', ['rzSlider', 'ui.bootstrap']);
myApp.controller('TestController', TestController);
function TestController($scope, $timeout) {
var vm = this;
vm.priceSlider1 = {
value: 100,
options: {
floor: 0,
ceil: 500
}
};
vm.priceSlider2 = {
value: 200,
options: {
floor: 0,
ceil: 500
}
};
vm.refreshSlider = function () {
$timeout(function () {
$scope.$broadcast('rzSliderForceRender');
});
};
}