错误TS2304:找不到名称 '页'
这里是我的page.ts错误TS2304:找不到名称 '页'
page.ts
var viewModel : launchViewModelModule.LaunchViewModel;
viewModel = new launchViewModelModule.LaunchViewModel();
export function navigatingTo(args: observableModule.EventData) {
var page = <pageModule.Page>args.object;
page.bindingContext = viewModel;
}
function showLoginPageForm(slow){
var initialContainer = page.getViewById("initial-container");
var mainContainer = page.getViewById("container");
var containerLogo = page.getViewById("container-logo");
}
的showLoginPageForm内的另一个本地函数的page.ts文件显示
error TS2304: Cannot find name 'page'
我不知道我错过了什么
我找到了解决办法,在已经与nativescript-打字稿做一个项目采取后一看
var viewModel : launchViewModelModule.LaunchViewModel;
viewModel = new launchViewModelModule.LaunchViewModel();
let initialContainer: StackLayout;
let mainContainer: StackLayout;
let containerLogo: AbsoluteLayout;
export function navigatingTo(args: observableModule.EventData) {
var page = <pageModule.Page>args.object;
page.bindingContext = viewModel;
initialContainer = <StackLayout>page.getViewById("initial-container");
mainContainer = <StackLayout>page.getViewById("container");
containerLogo = <AbsoluteLayout>page.getViewById("container-logo");
runAnimation();
}
然后从这里呼叫功能,例如showLoginPageForm()
可以访问initialContainer.animate()
所有属性和方法属于您要使用的对象。谢谢@Kirby
可变page
被定义为功能navigatingTo
内的局部变量,并且对功能showLoginPageForm
不可见。
也许你想声明page
以外的功能,以便它们都可以看到它们。
如果您在本地函数中需要全局变量,则应考虑使用函数参数或基于类的对象。
类基础的解决方案(只要我可以调用它的解决方案)
class Navigator {
protected page: pageModule.Page;
protected viewModel: launchViewModelModule.LaunchViewModel;
constructor(viewModel: launchViewModelModule.LaunchViewModel) {
this.viewModel = viewModel;
}
public navigateTo(args: observableModule.EventData): void {
this.page = args.object as pageModule.Page;
this.page.bindingContext = viewModel;
}
public showLoginPageForm(slow) {
const initialContainer = this.page.getViewById("initial-container");
const mainContainer = this.page.getViewById("container");
const containerLogo = this.page.getViewById("container-logo");
}
}
我必须导出Navigator类,因为我的XML文件不读取navigationTo方法 – Muhammed
我不知道你愿意做什么这个XML文件和导航类。你可以开一个新的问题,告诉我们你想做什么。 xml文件。否则,请给我一个你的问题的简要概述。 我认为你的问题:你应该导出导航类,以便在另一个文件中使用它。比使用'new'关键字实例化这个对象并且执行函数'navigateTo(...)'。我会建议使用[Singleton设计模式](http://amanvirk.me/singleton-classes-in-es6/) – Wartoshika
谢谢@Kirby但是如果我应该在外面声明它,我将无法访问TypeView ViewBase的getViewById()方法。这工作正常与nativescript香草,但失败的本地脚本打字稿工作 – Muhammed