Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在nativescript中动态加载自定义组件?_Javascript_Android_Nativescript_Custom Component - Fatal编程技术网

Javascript 如何在nativescript中动态加载自定义组件?

Javascript 如何在nativescript中动态加载自定义组件?,javascript,android,nativescript,custom-component,Javascript,Android,Nativescript,Custom Component,我是nativescript的新手,我尝试在点击按钮时动态加载自定义组件, 但我得到了这个错误: 错误:模块 “/data/data/org.nativescript.DMMobileApp01/files/app/components”不是 为元素“组件:测试”com.tns.nativeScript找到异常: 找不到模块: “/data/data/org.nativescript.DMMobileApp01/files/app/components”,> 相对于:应用程序// 我搜索了很多,

我是nativescript的新手,我尝试在点击按钮时动态加载自定义组件, 但我得到了这个错误:

错误:模块 “/data/data/org.nativescript.DMMobileApp01/files/app/components”不是 为元素“组件:测试”com.tns.nativeScript找到异常: 找不到模块:
“/data/data/org.nativescript.DMMobileApp01/files/app/components”,> 相对于:应用程序//

我搜索了很多,但是大多数关于动态加载自定义组件的问题和教程都是关于angular和webpack的

此功能负责自定义组件的动态加载:

function toSettings(args){
    const page = args.object.page;
    const mainScene = page.getViewById('mainScene'); 
    let settingsCompo = builder.load({
        path: '~/components',
        name: 'test'
    });
}
这是app/components/test.xml文件

<StackLayout orientation="horizontal">
    <Label text="yaaaay!" textWrap="true" />
</StackLayout>


我希望这是一个简单的任务,但我不知道为什么我会得到这个错误!我缺少的部分在哪里?

NativeScript 6.0使Webpack工作流成为唯一可以遵循的工作流。因此,请检查您是否将组件包括在捆绑包中。由于Webpack使用静态分析来检测要包含的内容,所以它无法检测那边的builder.load调用。尝试使用动态导入告诉Webpack包含您需要的文件

另一方面,你似乎只是想显示一个设置页面?在这种情况下,您最好只导航到它:


NativeScript 6.0使Web包工作流成为唯一可以遵循的工作流。因此,请检查您是否将组件包括在捆绑包中。由于Webpack使用静态分析来检测要包含的内容,所以它无法检测那边的builder.load调用。尝试使用动态导入告诉Webpack包含您需要的文件

另一方面,你似乎只是想显示一个设置页面?在这种情况下,您最好只导航到它:


通过从nativescript版本5升级到版本6,用相同的代码解决了这个问题

如果您仍然喜欢使用builder,通过从nativescript版本5升级到版本6,用相同的代码解决了这个问题,然后调整您的webpack配置以绑定XML文件,或者将XML字符串分配给变量并将其传递给生成器函数。@Bundyo实际上,我使用的是nativescript 5.4.2版本,我将升级它并尝试使用您的建议,如果您仍然喜欢使用生成器,然后调整您的webpack配置以绑定XML文件,或者将XML字符串分配给变量并将其传递给生成器函数。@Bundyo实际上,我使用的是nativescript 5.4.2版本,我将升级它并尝试使用您的建议,然后再回来