小编Sam*_*ele的帖子

如何通过Angular 4中的共享模块正确导入Angular Material模块?

我正在使用Angular与Angular Material配对构建应用程序,我的模块结构存在一些问题.

正如指南所示,不推荐导入MaterialModule,不应该再进行,这就是为什么我创建了一个单独的MaterialModule,我只导入我需要使用的Material模块; 然后将此模块导入SharedModule,最终在所需的任何位置导入,包括主AppModule.

我正在使用的材料组件之一是MdTooltip,除了我在平板电脑上测试我的应用程序时,一切正常:发生的事情是工具提示不会像他们应该的那样对长按钮作出反应,并且他们不会打开.我设法使其工作的唯一方法是在我的AppModule中导入完整的MaterialModule(来自@ angular/material),这是非常错误和不优雅的.任何其他方法似乎都没有削减它,因为他们都会带来自己的问题而不解决这场考验.

这些是我的模块(剥离冗余的import语句):

MaterialModule:

import { NgModule } from '@angular/core';
import {...} from '@angular/material';

@NgModule({
  imports: [
    MdGridListModule,
    MdButtonModule,
    MdTabsModule,
    MdToolbarModule,
    MdCardModule,
    MdInputModule,
    MdSelectModule,
    MdAutocompleteModule,
    MdIconModule,
    MdTooltipModule
  ],
  exports: [
    MdGridListModule,
    MdButtonModule,
    MdTabsModule,
    MdToolbarModule,
    MdCardModule,
    MdInputModule,
    MdSelectModule,
    MdAutocompleteModule,
    MdIconModule,
    MdTooltipModule
  ],
  providers: [
    MdIconRegistry
  ]
})

export class MaterialModule {}
Run Code Online (Sandbox Code Playgroud)

SharedModule:

import { MaterialModule } from '../material/app-material.module';
@NgModule({
  imports:      [
    CommonModule,
    MaterialModule,
    FlexLayoutModule,
    FormsModule,
    ReactiveFormsModule
  ],
  declarations: [
    NavbarComponent,
    SearchFiltersComponent,
    RightCurrencyPipe
  ],
  exports:      [
    CommonModule,
    FormsModule, …
Run Code Online (Sandbox Code Playgroud)

typescript angular-material2 angular

6
推荐指数
1
解决办法
8522
查看次数

行内包含 GestureDetector 的扩展不再扩展

我在连续使用 GestureDetector 时遇到一些布局问题。

这是我的 Widget 的构建方法:

@override
Widget build(BuildContext context) {
final dateFormat = new DateFormat('dd/MM/yyyy');

List<Widget> children = [
  Text(
    todo.content,
    style: TextStyle(fontWeight: FontWeight.bold, color: Colors.white),
    overflow: TextOverflow.ellipsis,
  )
];
if (todo.date != null) {
  children.add(Text(
    dateFormat.format(todo.date!),
    style: TextStyle(color: Colors.grey),
  ));
}

return Container(
    height: 50.0,
    color: backgroundColour,
    padding: EdgeInsets.symmetric(vertical: todoVMargin),
    child: Row(
      children: [
        Theme(
            data: ThemeData(unselectedWidgetColor: Colors.white),
            child: TokidokiCheckbox(
                value: todo.checked,
                onChanged: (bool value) {
                  markChecked(value);
                })),
        Expanded(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.center,
            children: children,
          ), …
Run Code Online (Sandbox Code Playgroud)

dart flutter

1
推荐指数
1
解决办法
1196
查看次数

标签 统计

angular ×1

angular-material2 ×1

dart ×1

flutter ×1

typescript ×1