2017-09-07 51 views
1
項目

我試圖複製下面的應用程序佈局演示(app_layout_demo)例如:應用內版式AngularDart不顯示在抽屜

https://github.com/dart-lang/angular_components_example/tree/master/lib/src/app_layout_demo

有一些應該出現在抽屜這些項目:

<material-drawer persistent #drawer="drawer" [attr.end]="end ? '' : null"> 
    <material-list *deferredContent> 
    <div group class="mat-drawer-spacer"></div> 
    <div group> 
     <material-list-item> 
     <material-icon icon="inbox"></material-icon>Inbox 
     </material-list-item> 
     <material-list-item> 
     <material-icon icon="star"></material-icon>Star 
     </material-list-item> 
     <material-list-item> 
     <material-icon icon="send"></material-icon>Sent Mail 
     </material-list-item> 
     <material-list-item> 
     <material-icon icon="drafts"></material-icon>Drafts 
     </material-list-item> 
    </div> 
    <div group> 
     <div label>Tags</div> 
     <material-list-item> 
     <material-icon icon="star"></material-icon>Favorites 
     </material-list-item> 
    </div> 
    </material-list> 
</material-drawer> 

但它不顯示在抽屜上的項目。請參閱:

enter image description here

還有一個在瀏覽器控制檯的錯誤:

EXCEPTION: Invalid argument(s): No provider found for DomService. html_dart2js.dart:3559 

可能是什麼問題呢?

+0

你在瀏覽器控制檯中獲取任何錯誤?你是否將所有指令添加到組件中(如示例代碼中那樣)? –

+0

瀏覽器控制檯發生錯誤:'EXCEPTION:無效參數:沒有找到DomService的提供者。 html_dart2js.dart:3559'。我不知道爲什麼!正在使用指令:'指令:const [...,MaterialListComponent,MaterialListItemComponent],' – Muka

回答

2

錯誤消息意味着materialProviders缺少

@Component(
    selector: 'my-app', 
    providers: const <dynamic>[materialProviders], 

他們只需要爲整個應用程序進行一次提供的,因此AppComponent是最好的地方。

+0

不錯,它的工作原理! – Muka

+0

很高興聽到:) –

0

請注意,如果你正在運行的AngularDart例子較新的版本(如5.0),你看到了同樣的錯誤(No provider found for DomService.),你會發現你需要添加以下導入:

import 'package:angular_components/laminate/popup/module.dart'; 

而下面的到你的根組件(如君特提到):

@Component(
    selector: 'my-app', 
    providers: const [popupBindings] 

按:https://github.com/dart-lang/angular_components_example/blob/master/lib/app_component.dart#L64

UPDATE:

但是,如果你想導入的materialProviders - 按照公認的答案 - 只需添加以下導入:

import 'package:angular_components/angular_components.dart'; 

,並添加以下到您的根組件:

@Component(
    selector: 'my-app', 
    providers: const [materialProviders]