繁体   English   中英

Javascript无法在Onsen UI的ons-template中使用

[英]Javascript not working in ons-template of Onsen UI

我正在尝试将panzoom集成到Onsen UI中以允许缩放图像。 但是,如果它放在ons-page下,它只会缩放。 它不适用于ons-template 这是我的代码不起作用。

<body ng-controller="AppController">    

  <ons-navigator var="navi">
    <ons-page>
      <ons-toolbar>
        <div class="center">App</div>
      </ons-toolbar>

      <ons-list ng-controller="MasterController">
        <ons-list-item modifier="chevron" class="item" ng-repeat="item in items" ng-click="showDetail($index)">
          <ons-row>
            <ons-col>
              <header>
                <span class="item-title">{{item.title}}</span>
              </header>
            </ons-col>
          </ons-row>                          
        </ons-list-item>
      </ons-list>
    </ons-page>
  </ons-navigator>

  <ons-template id="detail.html">
    <ons-page ng-controller="DetailController">

      <ons-toolbar>
        <div class="left"><ons-back-button>Back</ons-back-button></div>
        <div class="center">Details</div>
      </ons-toolbar>

      <ons-list modifier="inset" style="margin-top: 10px">
        <ons-list-item class="item">
          <ons-row>
            <ons-col>
              <header>
                <span class="item-title">{{item.title}}</span>
              </header>
            </ons-col>
          </ons-row>
        </ons-list-item>

      </ons-list>

      <ons-list style="margin-top: 10px">
        <ons-list-item class="item">
          <p class="item-desc"><img src="{{item.desc}}" />
<script>
    $(document).ready(function() {
      $("img").panzoom();
    });
</script></p>
        </ons-list-item>
      </ons-list>

      <br>
    </ons-page>
  </ons-template>
</body>  

不执行在模板中编写的任何脚本。 模板的内容由导航器作为文本传递到DOM对象的innerHTML中。

由于eval()不是自动完成的,因此您必须手动完成。 参考这个问题。

我建议你重构你的javascript(把它放在哪里)然后你可以使用ons-navigator的postPush和prePush属性在页面加载时调用该函数。 参考onsen文档(ons0nvaigator属性)

或者,您可以在'DetailController'控制器中使用ons.ready(回调)并在那里执行panzoom(如果您想使用Angular)。 参考onsen文档(onsen object ready)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM