【问题标题】:AngularJS / Ionic Framework - Why are one of my template values not being replaced?AngularJS / Ionic Framework - 为什么我的模板值之一没有被替换?
【发布时间】:2015-03-29 20:35:27
【问题描述】:

所以我最近一直在玩 Ionic 框架(以及 Angular 的扩展)——但我遇到了一个问题。

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

这是我目前所拥有的:

tabs.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>

controller.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}} 不能。

我尝试重新排列元素以查看它是否会对替换的内容产生影响,但它没有 - 无论顺序如何,ion-tab 属性都被模板引擎替换,但是 ion-nav-视图属性不是。

这不仅是“控制器”哈希,{{tab.title}} 在 ion-nav-view 元素中出现时同样不会被替换 - 而且,{{tab.controller}} 在 ion-选项卡元素。

我注意到的主要事情是,当应用程序被提供给浏览器时,'ion-nav-view' 的 DOM 与我在编辑器中观察到的不同 - 这表明它可能正在做一些事情。 - 场景魔法。我认为也许这种魔法导致元素中的 Angular 标签由于某种原因无法被解析/检测/覆盖。

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

提前致谢:)

【问题讨论】:

    标签: javascript angularjs node.js mobile ionic


    【解决方案1】:

    修复它。

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

    不干燥,不优雅 - 但实用。

    【讨论】:

      猜你喜欢
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      相关资源
      最近更新 更多