$ ionicSlideBoxDelegate不滚动而不更新索引

时间:2016-06-22 10:57:10

标签: angularjs ionic-framework angular-directive

我在模态中有一个幻灯片盒。

幻灯片框曾经位于模态模板中,相关功能位于控制器内。

我意识到最好将它移到指令中,并将所有函数移到指令的链接函数中。

所以,这就是我的所作所为:

模态模板只调用指令:<my-directive></my-directive>而没有别的。

指令代码如下:

angular.module('feedback', []).directive('myDirective', [
  '$ionicSlideBoxDelegate', '$rootScope', 'Info', function($ionicSlideBoxDelegate, $rootScope, Info) {
    var linkFunction;

    linkFunction = function(scope) {

      scope.data = {
        timestamp: new Date,
        details: {
          app: Info.getAppInfo(),
          device: Info.getDeviceInfo()
        },
        user: $rootScope.currentUser,
        message: ''
      };

      scope.slideChanged = function(index) {
        scope.slideIndex = index;
      };

      scope.disableSwipe = function() {
        $ionicSlideBoxDelegate.enableSlide(true);
      };

      scope.slideTo = function(index) {
        console.log("Got here...");
        console.log("Index is: ", index);
        $ionicSlideBoxDelegate.slide(index);
      };

    };
    return {
      restrict: 'E',
      replace: false,
      templateUrl: './directives/feedback/feedback.tpl.html',
      link: linkFunction
    };
  }
]);

,模板如下:

<div>
    <ion-slide-box ng-init="disableSwipe()" on-slide-changed="slideChanged(index)" class="feedback-slider" show-pager="false">

        <ion-slide>
            <ion-item class="item-icon item-icon-right" ng-click="slideTo(1)">
        </ion-slide>

        <ion-slide>
        <button class="button button-positive button-clear no-animation"
                ng-click="slideTo(0)">Back</button>
        </ion-slide>

    </ion-slide-box>
</div>

这是模板的旅行版本,但它应该足以解释它发生了什么。

基本上,没有调用任何函数。我的意思是,当控制台被打印并显示预期值时,它们被调用,但它与$ionicSlideBoxDelegate相关的所有内容都没有被触发,我真的不明白为什么。

任何帮助?

由于

1 个答案:

答案 0 :(得分:1)

所以,

经过大量研究并试图调试离子功能后,我设法使用此链接上的离子论坛解决了这个问题:

https://github.com/driftyco/ionic/issues/1865

这个问题就像你的app上有多个滑块一样,这是离子库中的一个已知问题。

我改变了我的代码:

git clone git@github.com:glennrp/libpng.git
git checkout origin/libpng12
cmake -DCMAKE_INSTALL_PREFIX:PATH=${HOME}/local .. && make all instal

并在html模板中添加了一个处理程序:

ImportError: ~/.venv/lib64/python3.3/site-packages/matplotlib/_png.cpython-33m.so: symbol png_init_io, version PNG12_0 not defined in file libpng12.so.0 with link time reference

现在又恢复正常了。