【问题标题】:New "Tab level" view in IonicIonic 中的新“选项卡级别”视图
【发布时间】:2015-08-24 15:15:34
【问题描述】:

我有一个标签项目。我处理新的视图和新的控制器,但我现在陷入了困境:

我想在到达选项卡之前创建一个欢迎屏幕(用于日志记录/帐户创建)。所以我创建了一个 templates/welcome.html 文件,其中包含:

<ion-view view-title="Welcome">
  <ion-content class="padding">
      <p>hello</p><br>
      <a class="button button-block button-positive"
         nav-direction="forward"
         href="#/tab-dash">Tabs</a>
    </ion-content>
</ion-view>

然后我在应用路由器中注册了这个新页面:

.state('welcome', {
    url: '/welcome',
    views: {
      'welcome': {
        templateUrl: 'templates/welcome.html',
        controller: 'WelcomeCtrl'
      }
    }
  })

创建控制器

.controller('WelcomeCtrl', function($scope) {})

最后,我在其中一个选项卡中创建了指向此页面的链接

<a class="button button-block button-positive"
      nav-direction="forward"
      href="#/welcome">Welcome</a>

我还通过以下方式将其设置为默认登录页面:

$urlRouterProvider.otherwise('/welcome');

链接不发送到页面和转到 url #/welcome 都会给出一个空白页面,其中导航视图栏为空。

我找到了 $state.transitionTo(...) 的解决方案,但我得到了同样的错误结果。

【问题讨论】:

  • :可以通过plunker /codepen/jsfiddle显示代码吗?
  • JavaScript 控制台输出中的内容是什么?有没有在 index.html 中添加控制器 js 文件?
  • 您好,谢谢您的回答,我的控制台没有触发任何特别的东西。控制器被声明为模块“starter.controllers”的一部分,该模块在 index.html 中的 angular.module(..., 'starter.controllers', ...) 行中引用
  • 我没有找到在 jsfiddle 上处理多个文件的位置,所以我回到我的代码并再次尝试使用 ng-click 调用 $state.transitionTo 的按钮。承诺的结果是成功......所以我添加了 这给了一个显示我的页面的空间。我有一种错误的感觉,因为它没有嵌套。我将尝试创建一些状态,例如 begin.wecome 和 begin.tabs.tab1 等...还有其他方法吗?再次感谢伙计们!
  • 我现在更好地理解了我必须做的事情:开始(抽象)--欢迎--标签(抽象?)---- tab_1 ---- tab_2 我现在正在尝试了解更多这里的示例github.com/angular-ui/ui-router#multiple--named-views 但如果有人可以给我一个提示^^ 谢谢很多

标签: angularjs ionic-framework angularjs-routing


【解决方案1】:

确保您已在 app.js 文件中的 angular.module() 中注册了欢迎屏幕。

angular.module('tag', ['ionic', 'WelcomeCtrl']) 

您粘贴的有限代码有点难以帮助。

【讨论】:

  • 感谢您的回答。我的控制器在 controller.js 中注册: angular.module('starter.controllers', []) ... .controller('WelcomeCtrl', function($scope) {}) ... 我的应用程序有角度。模块('starter',['ionic','ionic.service.core','starter.controllers','starter.services'])。问题依然存在...
【解决方案2】:

问题是状态:它不是注册视图本身,而是一个包含的视图。这是工作配置。

.state('welcome', {
    url: '/welcome',
    templateUrl: 'templates/welcome.html',
    controller: 'WelcomeCtrl'
})

【讨论】:

    猜你喜欢
    • 2017-09-12
    • 2014-07-28
    • 1970-01-01
    • 2023-03-29
    • 2012-08-14
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多