从ng-repeat之外的ng-repeat获得价值

时间:2015-11-25 11:32:19

标签: angularjs ionic-framework ionic

我在ng-repeat之外有一个标题栏:

<ion-slide ng-repeat="single in slides track by $index">

    <div class="item item-image gallery-slide-view">
        <img ng-src="{{single.original}}">
        <input type="text" ng-model="originalImageSource" value="{{single.original}}">
    </div>
</ion-slide>

显示图像的幻灯片:

{{single.original}}

#shareImage是图片的网址。但是这个URL没有放在输入字段中。在删除此ng-model语句时显示。

如果用户点击按钮ShareImageTo(URL),则执行{{originalImageSource}}功能。但是{{single.original}}的值未定义。

有关如何将ShareImageTo()中的网址传递给此{{1}}函数的任何想法?

2 个答案:

答案 0 :(得分:1)

使用$ionicSlideBoxDelegate,您可以通过currentIndex()获取当前幻灯片索引。这样,您就可以在$scope.slides[$ionicSlideBoxDelegate.currentIndex()].original - 方法中按ShareImageTo()获取网址:

$scope.ShareImageTo = function() {
    var URL = $scope.slides[$ionicSlideBoxDelegate.currentIndex()].original;
    //your logic
};

另一种方法是使用ion-slide-box的指令on-slide-changed

<强>模板

<ion-slide-box on-slide-changed="slideHasChanged($index)">
    ...
</ion-slide-box>

<强>控制器:

$scope.slideHasChanged = function(index) {
    $scope.originalImageSource = $scope.slides[index].original;
    //.. some more logic
}

答案 1 :(得分:-1)

只需创建一个环绕导航栏和幻灯片框的div,然后将ng-repeat放入该div中即可:)