使用带有Angular2的PhoneGap,加载模板时出现问题

时间:2015-09-03 05:59:31

标签: cordova angular traceur systemjs

似乎systemjs似乎无法找到模板文件(我的.html视图),因为它使用绝对路径来加载文件。它希望我的主要应用程序组件app.html位于file://,但事实是,PhoneGap将应用程序的根目录放在file://data/data/app-name/root/...的深处。 systemjs从/加载的原因可能是因为我向<base href="/">添加了index.html。这样做是为了让路由工作。

这里的最佳做法是什么?我的所有组件都使用templateUrl,而我正在认真考虑内联html - 这真的很烦人......

我使用traceur作为转换器。

1 个答案:

答案 0 :(得分:1)

如果有人感兴趣,我通过两步修复解决了这个问题:

首先,在我的index.html中,我导入我的应用程序,在我这样做之前,我初始化一个我以后用作baseUrl的全局变量:

if (window.cordova !== undefined) {
    baseLoadpath = 'data/data/dk.app_name/files/download/app_dir/';
} else {
    baseLoadpath = '/'
}

每当我加载模板时,我都会像这样添加这个baseLoadPath:

@View({
    templateUrl : baseLoadpath + 'app.html' 
})

负责文件路径。由于其他错误,我仍然无法在PhoneGap中启动并运行...