Javascript 如何用angular2和typescript隐藏android操作栏?

Javascript 如何用angular2和typescript隐藏android操作栏?,javascript,android,typescript,nativescript,Javascript,Android,Typescript,Nativescript,我有一个简单的html文件: <StackLayout orientation="vertical" actionBarHidden="true"> <Image src="res://buy" stretch="none" horizontalAlignment="center"></Image> </StackLayout> 但当我使用: <Page actionBarHidden="true"> <St

我有一个简单的html文件:

<StackLayout orientation="vertical" actionBarHidden="true">
      <Image src="res://buy" stretch="none" horizontalAlignment="center"></Image>
</StackLayout>

但当我使用:

<Page actionBarHidden="true">
  <StackLayout orientation="vertical">
      <Image src="res://buy" stretch="none" horizontalAlignment="center"></Image>
  </StackLayout>
</Page>

它打破了这一页。。 动作栏并没有隐藏,内容和动作栏之间有很大的距离

我的应用程序使用angular2和typescript

我犯了什么错


非常感谢任何帮助

属性
actionBarHidden
仅适用于
组件。不要认为你可以把它应用到
上。您也不必在
上指定
orientation=“vertical”
,默认情况下它是垂直的。除非这里没有提到您正在尝试实现的特定用例:)


另一个提示-您可以自行关闭
而无需
标记。

您可以在组件JS中以页面属性为目标,如下所示:

export class HomePage implements OnInit {
    page: Page;
    ngOnInit() {
        this.page = <Page>topmost().currentPage;
        this.page.actionBarHidden = true;
    }
}
导出类主页实现OnInit{
第页:第页;
恩戈尼尼特(){
this.page=topmost().currentPage;
this.page.actionBarHidden=true;
}
}
您需要从“ui/frame”导入
import{top}
从“ui/Page”导入{Page}

这样,您就不需要标记(在Angular 2组件中是隐式的)

我希望这有帮助


另外,只要跟进Brad关于自动关闭标记的评论,你会发现使用角度明确的关闭标记(正如你所做的)效果更好。

有一个更简单的解决方案。在Angular
4.1.0
和NativeScript
3.0.0

import { Page } from "ui/page";

export class AppComponent {
    constructor(private page: Page) {
        page.actionBarHidden = true;
    }
}
您可以从组件的构造函数控制动作栏的可见性

StackOverflow回答:

试试这个

import { Page } from "tns-core-modules/ui/page";

export class YourComponent implements OnInit {

   public constructor(private router: RouterExtensions, private page: Page) {
   
   }

   public ngOnInit() {
     this.page.actionBarHidden = true;
   }

}

非常感谢。你能告诉我在哪里可以隐藏操作栏吗?你已经在一个代码片段的
组件中找到了它。这是该属性唯一起作用的地方,它在我第一次评论的文档页面中。因此,您不能在
上使用它。好的,谢谢,但我从这里复制了它:您所拥有的不是一个精确的副本,但这是隐藏ActionBar的正确方法。如果您需要进一步的澄清,请让我知道。谢谢,但是现在我得到的错误属性页在类型主页(我的类)上不存在。谢谢,您能解释我什么页面:页是什么吗?第二,我得到的错误是找不到最上面的,但我将尝试使用除最上面的以外的其他内容。:)@olivier啊,对不起-您需要从“ui/Page”导入{Page}位于组件顶部,并从“ui/frame”导入{topmost}是的,这是有效的,但是我不明白为什么我们需要导入另一个组件来隐藏某些东西。。。