0

我正在尝试使用 NativeScript Schematics 在 Angular 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。然而没有运气。这两个问题看起来都像 nativescript-schematics 加载文件的方式。有人可以让我知道这里出了什么问题吗?

编辑

我对此问题进行了进一步调试,看起来这是由于 webpack 无法加载所需模块的问题。我有示例代码

https://github.com/phatakrajan/ns-codeshare-ui

4

1 回答 1

0

您将不得不导入NativeScriptFormsModule也将在内部导入NgFormsModule

本地化文件也应该是 JSON 而不是 TS,

src
  | i18n
      | en.json           <-- english language
      | fr.default.json   <-- french language (default)
      | es.js
于 2019-04-24T13:29:53.207 回答