栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用ui-router和ion-tabs时模板不会更新

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用ui-router和ion-tabs时模板不会更新

您当前指的是最新版本,

1.0.0-rc.0
该版本在从一种状态转换为另一种状态时存在错误,并且未加载视图。

进一步的研究发现,从候选版本

1.0.0-beta.1
1.0.0-beta.14
现在,他们已经有14个beta版本
1.0.0-rc.0

nav-view
直到
1.0.0-beta.13
版本都可以正常使用,但是直到
1.0.0-beta.14
最后一个beta 版本才停止工作,

我建议您将您的版本降级为

1.0.0-beta.13
,我知道依赖beta版本不是一件好事,但直到离子发布稳定版本之前,您都必须依靠它。

工作Codepen

1.0.0-beta.13

更新:

您的问题是您的视图正在被缓存,因为默认情况下,您的ionic应用程序中启用了缓存。

直接来自IonicDoc(最新版本doc1.0.0-beta.14)

默认情况下,将缓存视图以提高性能。离开视图时,其元素保留在DOM中,并且其作用域与$
watch循环断开连接。导航到已缓存的视图时,其范围将重新连接,并且DOM中剩余的现有元素将成为活动视图。这也可以保持先前视图的滚动位置。缓存视图的最大容量为10。

因此,通过

cache:false
$stateProvider
状态
$ionicConfigProvider.views.maxCache(0);
配置阶段执行状态功能或全局禁用导航视图的缓存,就可以了。

因此,在您的情况下,这就是确切的问题,您的第一个视图正在获取缓存并再次显示

有3种方法可以解决此问题

1.全局禁用缓存

通过将其设置为0来禁用所有缓存,然后再使用它来添加

$ionicConfigProvider
依赖项。

$ionicConfigProvider.views.maxCache(0);

Codepen

2.禁用状态提供程序中的缓存

$stateProvider.state('link1', {  url: "/link1",  cache: false,  views: {    'menuContent': {      templateUrl: "link1.html"    }  }}).state('link2', {  url: "/link2",  cache: false,  views: {    'menuContent': {      templateUrl: "link2.html"    }  }});

Codepen

3.禁用具有属性的缓存

    <ion-tab title="Home" icon="ion-home">      <ion-view cache-view="false" view-title="Home">        <!-- Ion content here -->      </ion-view>   </ion-tab>    <ion-tab title="about" icon="ion-ios-information">      <ion-view cache-view="false" view-title="Home">        <!-- Ion content here -->      </ion-view>     </ion-tab>

Codepen

我相信更新的方法将非常适合实施。谢谢。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614802.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号