Bootstrap AngularJS轮播 - 如何知道活动的幻灯片对象

use*_*191 9 twitter-bootstrap angularjs

有什么方法我可以知道当前的活动幻灯片是什么?

var slides = slides = []; 
slides.push({text: 'Slide 1', type: "chart", chartConfig : { 
                    options: {chart: {type: 'bar'}}, 
                    series: [{data: [10, 15, 12, 8, 7]}], 
                    title: {text: 'Hello 1'}, 
                    loading: false 
}}); 
slides.push({text: 'Slide 3', type: "chart", chartConfig : { 
                            options: {chart: {type: 'bar'}}, 
                    series: [{data: [10, 35, 52, 8, 7]}], 
                    title: {text: 'Hello 2'}, 
                    loading: false 
}}); 
$scope.slides=slides;
Run Code Online (Sandbox Code Playgroud)
<carousel> 
    <slide ng-repeat="slide in slides"> 
        <highchart id="chart{{$index}}" config="slide.chartConfig"></highchart> 
    </slide> 
</carousel>
Run Code Online (Sandbox Code Playgroud)

我不确定我是否需要添加手表?

请将此视为一个单独的问题:

您可以从我的代码中看到幻灯片中有2个图表信息.但当它出现/滑动第二个单独被挤压宽度.

换句话说,有什么方法可以在渲染时自动缩放高图?

有没有解决它的工作.

mus*_*_ut 8

更新:

实际上,angular-ui允许您activeslide指令上设置属性,当幻灯片变为活动状态时,该属性将设置为true.

在此示例中:slide.active将设置为true幻灯片处于活动状态时.

<carousel> 
    <slide ng-repeat="slide in slides" active="slide.active"> 
        <highchart id="chart{{$index}}" config="slide.chartConfig"></highchart> 
    </slide> 
</carousel>
Run Code Online (Sandbox Code Playgroud)

调节器

var slides = slides = []; 

slides.push({
    active: false
  , text: 'Slide 1'
  , type: "chart"
  , chartConfig : { 
        options: {chart: {type: 'bar'}}, 
        series: [{data: [10, 15, 12, 8, 7]}], 
        title: {text: 'Hello 1'}, 
        loading: false }
    }
); 

slides.push({
    active: false
  , text: 'Slide 3'
  , type: "chart"
  , chartConfig : { 
        options: {chart: {type: 'bar'}}, 
        series: [{data: [10, 35, 52, 8, 7]}], 
        title: {text: 'Hello 2'}, 
        loading: false }
   }
); 

$scope.slides=slides;

// May return `undefined` if no slide is active 
// (e.g. when the carousel hasn't initialised)
$scope.getActiveSlide = function () {
    return slides.filter(function (s) { return s.active; })[0];
};
Run Code Online (Sandbox Code Playgroud)

是一个问题,以将此信息添加到该slide事件,但他们决定不这样做.

但是有一些解决方法:

  1. 这个问题的评论
  2. Twitter Bootstrap Carousel - 访问当前索引