AngularJS / Ionic Framework - 为什么我的一个模板值没有被替换

AngularJS / Ionic Framework - Why are one of my template values not being replaced?

本文关键字:一个 替换 Framework Ionic 为什么 我的 AngularJS      更新时间:2023-09-26

所以我最近一直在玩Ionic Framework(和Angular,通过扩展) - 但我遇到了一个障碍。

本质上,我希望能够使用模型在应用程序底部定义选项卡。

这是我到目前为止所拥有的:

选项卡.html


<div ng-repeat="tab in tabs">
<ion-tab title="{{tab.title}}" icon-off="{{tab.icon}}" icon-on="{{tab.iconon}}" href="{{tab.link}}">
  <ion-nav-view name="{{tab.controller}}"></ion-nav-view>
</ion-tab>
</div>

控制器.js


$scope.tabs = [
{
    title:'Home',
    icon:'ion-ios7-pulse',
    iconon:'ion-ios7-pulse-strong',
    link:'#/tab/dash',
    controller:'tab-dash'
}
]
ion-tab元素

中的所有内容都可以正常工作并替换得很好,但是ion-nav-view元素中的{{tab.controller}}则不能。

我尝试重新排列元素以查看它是否对替换的内容产生影响,但事实并非如此 - 无论顺序如何,离子选项卡属性都会被模板引擎替换,但离子导航视图属性不会。

它不仅仅是"控制器"哈希,{{tab.title}} 在 ion-nav-view 元素中存在时同样不会被替换 - 此外,{{tab.controller}} 在 ion-tab 元素中工作。

我注意到的主要事情是,当应用程序提供给浏览器时,"离子导航视图"的 DOM 与我在编辑器中观察到的有所不同 - 这表明它可能正在做一些幕后魔术。我认为也许这种魔力导致元素中的 Angular 标签由于某种原因无法解析/检测/覆盖。

如果是这种情况,有没有办法强制 Angular 在任何其他 JavaScript 发生之前进行模板化 - 如果没有,有人知道这里发生了什么吗?我有点难倒了。

提前致谢:)

修复了它。

事实证明,这是设计使然 - 根据Ionic团队的说法,将视图模型名称设置为动态会导致问题。我通过手动指定我想使用的每个选项卡并引用模型中每个选项卡的相应字段来解决此问题。

不是

干的,不是优雅的 - 但功能齐全。