javascript - 对象未在 ionic 滑动盒中创建

标签 javascript html css angularjs ionic-framework

我有一个 ionic 幻灯片框,我的一张幻灯片包含一个进度条(来自 here)。我初始化进度条的方式是在滑动 Controller 中:

//partial code

var appControl = angular.module('volCtrlPanel.controllers', []);

appControl.controller('VolIndCtrl', function($scope, $state, $http, $rootScope) {
    var circle = new ProgressBar.Circle('#progress', {
    color: '#FCB03C',
    trailColor: '#ddd',
    strokeWidth: 3,
    duration: 55
  });

  var defaultVol = 0;

  circle.set(defaultVol);

我的包含进度条的 div 位于我的 index.html 的模板中:

<script id="templates/control.html" type="text/ng-template">
        <ion-view>
            <ion-slide-box on-slide-changed="slideHasChanged($index)">
                <ion-slide>
                <div class="center" id="background">
                  <div id="button-container">
                    <!-- this is the container for progress bar -->
                    <div class="progress" id="progress"></div>

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

但是,我收到一个错误,提示进度条容器不存在。

 ionic.bundle.js:20434 Error: Container does not exist: #progress

如果删除幻灯片框标签,我不会收到此错误,但我需要它是一张幻灯片。容器显然存在于 div 中,所以我不确定为什么 ionic 滑动盒突然改变了一切。这让我想到在幻灯片中没有创建进度条对象?感谢您的帮助!

最佳答案

我通过在 Ionic 的 $ionicView.beforeEnter 状态中创建 Circle 来解决这个问题。

“容器不存在”的发生是因为它试图找到一个尚不存在的容器。因此,我将 Circle 的初始化放在加载 View 之前。

关于javascript - 对象未在 ionic 滑动盒中创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961595/

相关文章:

html - 单选按钮不会左对齐或内联

javascript - Bootstrap 模式按钮单击事件未在第一次触发

javascript - UserInput 搞乱了一个函数

Javascript 表单验证不会验证

html - 我应该为图标使用 <i> 标签而不是 <span> 吗?

javascript - 将“”等特殊 HTML 字符代码转换为普通字符

IntelliJ IDEA 12 中的 CSS 编辑器缩进

javascript - 如何从文本框中获取内容并将其放在javascript中的变量和div中

javascript - React 更新父组件

javascript - 如何链接多个 jquery fancybox?