我正在尝试使用NativeScript Schematics在角度网站和移动应用程序之间进行代码共享。这是我的代码结构
我在移动特定的HTML文件中使用了[(ngModel)],我还在我的authentication.module.tns.ts中导入了NgFormsModule,这是NativeScript特定的模块文件。但是当我调试时,我没有看到NativeScriptFormsModule被加载。此外,我在运行应用程序时遇到错误
Error: No value accessor for form control with unspecified name attribute
这是我的AuthenticationModule代码(authentication.module.tns.ts)
@NgModule({
declarations: [
...componentDeclarations
],
imports: [
NativeScriptCommonModule,
NativeScriptFormsModule,
NativeScriptLocalizeModule,
AuthenticationRoutingModule,
...importsDeclarations
],
providers: [
],
schemas: [NO_ERRORS_SCHEMA]
})
export class AuthenticationModule { }
请注意,此时我的导入和声明数组是空的,用于处理将来的导入。
我注意到的另一个奇怪的问题是,如果我直接导入AuthenticationRoutingModule,那么它会被正确加载。但是,如果我通过importsDeclarations导入它,它不会被加载。
同样,我也使用nativescript-localize插件来本地化字符串。我创建了src / i18n / en.default.ts文件。但是我不断收到消息
'/ project / src / i18n'为空:无需本地化
我甚至尝试将文件重命名为en.default.tns.ts。但是没有运气。这两个问题看起来像nativescript-schematics加载文件的方式。有人可以告诉我这里出了什么问题吗?
编辑
我在这个问题上做了进一步的调试,看起来这是因为webpack无法加载所需的模块。我有示例代码
您将必须导入NativeScriptFormsModule
,它将在内部导入NgFormsModule
。
本地化文件也应该是JSON而不是TS,
src
| i18n
| en.json <-- english language
| fr.default.json <-- french language (default)
| es.js