我最近将Ionic从1.1.0升级到1.3.1,现在我的离子修复器已经停止工作了。当我向下拖动页面并且事件不会触发时,什么也没有出现。 在我的开发环境中,我有:
<ion-view view-title="Test">
<ion-content>
<ion-refresher pulling-text="Pull to refresh..."
on-refresh="vm.refresh()">
</ion-refresher>
<ion-list>
<ion-item>Item 1</ion-item>
<ion-item>Item 2</ion-item>
</ion-list>
</ion-content>
</ion-view>
答案 0 :(得分:1)
通过更改Ionic的版本,我发现问题是在1.1.1和1.2.1之间引入的
然后我比较了每个版本生成的html,并注意到早期版本在复习时包含class="js-scrolling"
。我还检查了release notes for 1.2.1。在那里,我发现了另一条线索,埋藏在一些comments on issue #4758中:
&#34;默认情况下,Ionic 1.2将在所有平台上使用原生滚动。&#34; ion-refresher基于jsScrolling。如果你想让离子更新你 应该启用jsScrolling。你可以通过添加来实现 您的应用配置中的
$ionicConfigProvider.scrolling.jsScrolling(true);
所以我在我的index.html
中添加了一个脚本文件,其中包含以下代码:
(function () {
"use strict";
angular
.module('app')
.config(ionicConfig);
ionicConfig.$inject = ['$ionicConfigProvider'];
function ionicConfig($ionicConfigProvider) {
$ionicConfigProvider.scrolling.jsScrolling(true);
}
})();
现在我的复习工作又开始了。
修改强> 至少它正在工作 - 在Ripple仿真器中。但是,当我尝试在设备上运行(从Visual Studio 2015部署)时,应用程序将不会部署或运行,直到我删除该行。所以现在我有了这段代码:
function ionicConfig($ionicConfigProvider) {
//detecting Ripple emulator
var emulating = window.parent && window.parent.ripple;
if (emulating) {
$ionicConfigProvider.scrolling.jsScrolling(true);
}
}