我正在尝试使用NativeScript Schematics在Angle Web和移动应用程序之间进行代码共享。这是我的代码结构
我在移动专用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。但是没有运气。这两个问题看起来都像本机脚本加载文件的方式。有人可以让我知道这里出了什么问题吗?
编辑
我对此问题进行了进一步的调试,由于webpack无法加载所需的模块,因此似乎是问题所在。我在
处有示例代码答案 0 :(得分:0)
您将必须导入NativeScriptFormsModule
,这也将在内部导入NgFormsModule
。
本地化文件也应该是JSON而不是TS,
src
| i18n
| en.json <-- english language
| fr.default.json <-- french language (default)
| es.js