问题标签 [ionic-tabs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3742 浏览

css - 编辑 Ionic 选项卡图标样式

我正在开发一个主要导航方法是选项卡的 Ionic 项目。中心选项卡需要突出,所以我在我的 scss 中创建了这样的样式:

我这样做的方式就像我在ionic serve检查和检查时做烧烤的方式一样,我发现我的标签:

被编译为:

已编译选项卡

所以我只想为编译后的图标创建一个样式(我只想设置选项卡图标的样式而不是整个选项卡)。奇怪的是,这不起作用。但是,检查该元素并添加这样的样式是可行的:

通过检查器编辑样式

最终结果应该看起来像这样:

标签

但是我只能<i>在检查器中直接编辑标签来实现那些样式。我在上面发布的样式(位于 ionic.app.scss 文件中)不会修改图标样式。难道我做错了什么?我的样式没有正确编译吗?

0 投票
3 回答
2500 浏览

angularjs - 离子 - 选项卡未固定在屏幕底部

尝试使用离子标签时遇到问题。

我需要它们始终在屏幕底部可见(类似于position: fixed; bottom: 0; left: 0;)。

我遇到的问题是,在我当前的设置中,表现不如预期。

这是我正在使用的模板:

但是选项卡链接到屏幕底部,因此,如果我必须滚动页面,则它们位于底部,而不是始终可见,内容在不同的 z-index 上滚动下方。

我可能已经解释得很糟糕,所以这里有一个例子可以更好地解释这一点: http ://codepen.io/NickHG/pen/NNZYwK?editors=1010

总结一下:即使页面更长,我必须做些什么才能让标签始终固定在底部?

PS:所有这些都是指子视图,如果它在某种程度上很重要。

感谢您的任何建议和帮助

0 投票
1 回答
47 浏览

ionic-framework - 离子:我无法正确创建标签

我曾经使用以下代码创建带有一些内容的选项卡:

但是,我的问题是选项卡没有切换,最重要的是,我无法正确设置选项卡“测试”的内容。

我做了一些搜索,但仍然没有找到解决方案。

我对 Ionic 没有足够的经验,所以任何帮助都将不胜感激。

谢谢你。

0 投票
1 回答
609 浏览

angularjs - 从外部 JS 的 Promise 中调用控制器函数

离子选项卡,选项卡的根 HTML 有“RootTabCtrl”,“Tab1”(带有“Tab1_Ctrl”)有一个表单,其他选项卡被禁用

  1. 用户在 Tab1 上提交表单
  2. Tab1 控制器功能启动。
  3. 控制器函数调用外部函数(不在控制器中)。
  4. 外部函数触发器,它执行一个承诺
  5. 在 promise "results" 中,处理返回的数据
  6. 如果返回数据中的 X 为真,则触发“RootTabCtrl”函数以启用其他禁用的选项卡。
  7. 我可以跟踪触发每一步的控制台消息。

除了以下奇怪的行为外,这一切都有效。在用户再次单击表单提交之前,“RootTabCtrl”不会启用禁用的选项卡......即使我看到控制台消息说它位于 RootTabCtrl 函数的(最后)。我从第一次单击中看到所有相同的控制台消息 - 但第二次是禁用的选项卡再次启用。

如果我在第 4 步中将第 6 步移到承诺之外,并将其放在第 3 步之后(以及在承诺之前),那么所有选项卡都会在第一次单击时启用。但是,这不再考虑 X 的值来确定是否应重新启用其他选项卡。

我可以寻找或不知道会导致这种情况的原因是什么?

应用程序.js:

控制器:

Tab1 有一个表单,点击后执行$scope.setInfo。然后 getGoogle() 在外部 JS 函数中,它调用谷歌地图,如果特定数据 X 为真,则使用 tab1Ctrl $scope.enableTabs() 启用所有其他选项卡:

以上所有工作......除了调用 enableTabs (在谷歌响应中)时,即使它正确调用 enableTabs 并且我可以看到从 enableTabs 内触发的 console.log 消息 - 其他选项卡不“启用" 直到第二次单击表单按钮(然后我再次看到所有控制台消息)。我从 getGoogle() 中尝试了 2 种不同的方法,它们的工作方式完全相同 - 第一次单击正确触发了所有功能,但选项卡未启用。第二次单击触发了所有功能,然后启用了选项卡。

0 投票
1 回答
1053 浏览

angularjs - 如何在离子标签中动态设置 templateUrl?

是否可以将 templateUrl 参数传递给类似于以下内容的 .state 选项卡定义?我有多个不同的页面要编写,并且不希望单个模板中的一堆嵌套 ng-if 来解析要显示的“html”页面:

在上面的 .state('tab.menu-detail'... 中, templuateUrl 函数触发并且第一个控制台日志条目有效,第二个什么也不做,没有消息,没有错误......什么都没有。它只是停止。我已尝试多次迭代以使其正常工作并且完全不知所措。当我单击上面的选项卡页面链接(应该将您带到子自定义视图)时,它什么也不做。没有控制台消息,没有错误.. 。没有什么。

0 投票
1 回答
4219 浏览

angular - 如何在 Ionic 2 中的组件之间共享变量?

在 Ionic 1 (With Angular 1) 中,我可以$scope.abc在 ngApp 层上创建一个,其他 ngControllers 可以继承$scope.abcngModel,这样当一个控制器中的文本区域发生变化时,其他的将通过 ngModel 进行相应的更改。

如何使用 Ionic 2(和 Angular 2)实现“同步文本区域”?

以下是我的一些尝试:

  1. 在组件的构造函数中注入 MyApp:[(ngModel)]="myApp.abc"将导致无法解析 context.myApp.abc 的控制台中出现未定义的错误...
  2. 使用 setter 创建服务。使用 [(ngChange)] 调用 setter 并在另一个组件的构造函数中使用 getter:组件实例化后文本区域不会改变。使用 ViewOnInit 而不是 Constructor 也无济于事。是否有“组件显示在屏幕上”的事件处理程序?
0 投票
1 回答
1885 浏览

angular - 如何在不使用 Ionic2 中的 @input 装饰器的情况下将数据(或引发事件)从父组件传递到子组件

我正在使用 Ionic 2,并且有一个用例,其中有一个主页(父组件),主页内部有一个选项卡布局,在 Ionic 2 中,每个选项卡都是一个单独的组件(子组件)。

所以在一个标签中,我显示了用户列表,在主页上还有一个搜索栏,用户可以通过它搜索其他用户。所以现在当用户在搜索栏中输入时,会触发一个在主页(父组件)中定义的函数,但是当这个函数被触发时,我需要在用户选项卡(子组件)中引发一个事件,我将在其中进行过滤用户列表并显示在用户选项卡中。需要帮助来解决这个问题。以下是我的代码

我希望我的问题很容易理解。

0 投票
1 回答
256 浏览

angularjs - 离子标签卡在第一个显示的视图中

我发现离子标签有不良行为。

基本上我有一些选项卡,在第一个选项卡中我有 3 个视图,一个通向另一个视图,其中 tab1Initial 可以访问 tab1internal1 视图,而这个可以访问同一选项卡中的 tab1internal2 视图,没有问题。

但是我有其他选项卡(我们称之为第二个选项卡)导致第一个选项卡中的 tab1internal2 ,它按预期工作,除了一个细节:

如果我没有访问第一个选项卡,并从第二个选项卡到第一个选项卡访问 tab1internal2 视图,则此 tab1internal2 视图将​​保留为第一个选项卡的默认视图,触摸时应显示 tab1Initial 视图,而是显示 tab1internal2,如如果选项卡显示的第一个视图是选项卡粘贴的视图,那正是我的问题。

我有一个显示这种行为的代码笔, https ://codepen.io/Orion390/pen/yajLKa,InternalPages选项卡是我正在谈论的第一个选项卡,About 选项卡使用该按钮访问 InternalPages 选项卡中的 internal2 视图,很容易复制我解释的行为。

顺便说一句,我不担心导航,我的问题只是当我触摸它时标签没有显示我需要的视图。

这不应该

无论您如何导航,都将该视图指定为默认视图?

0 投票
1 回答
2479 浏览

angular - 如何正确隐藏登录页面的ionic2选项卡?

这是我想要实现的目标,我想将选项卡组件添加到我的项目中,但我不希望在我登录到页面的其余部分之前显示选项卡。我所做的是这样的:

我的 app.component.ts :

下面是我的 tabs.ts :

那么这是我的 tabs.html :

当我这样做时,第一次加载时它看起来很正常,标签不显示。然后在我登录后,我设置

在我的登录功能中,但是当我已经登录时选项卡没有显示,除此之外,我必须刷新页面才能显示“选项卡”。当我也注销时发生这种情况..如何解决这个问题?我希望标签显示在每个页面中,除了我的登录页面

0 投票
4 回答
5023 浏览

angular - 注销后的 Ionic2 选项卡仍显示在导航页面中,我在这里错过了什么?

这是我试图实现的目标,我已经登录到我的应用程序,但是当我注销时,选项卡仍然存在,直到我在登录屏幕中刷新我的页面,我希望它在我注销时从我的登录屏幕消失 如何,什么我错过了这里?这是我所做的:

我的 app.component.ts :

下面是我的 tabs.ts :

那么这是我的 tabs.html :

当我这样做时,第一次加载时它看起来很正常,标签不显示。然后在我登录后,我设置

这是我的注销代码:

我已经在我的 LoginPagePage 中设置了 root,为什么标签仍然出现在屏幕上?如何解决这个问题?