【问题标题】:Angular 2 preloaderAngular 2 预加载器
【发布时间】:2016-05-18 08:53:18
【问题描述】:

我不知道如何将预加载器(简单图像)放在 *ngFor 之前。如果数据是从服务器获取的,则会显示我的列表,但只要未加载数据就会显示图片。


<tr ngFor='#product of products' >                        
    <td >                         
         {{product.id+ " " + product.title}}
    </td>            
</tr>

【问题讨论】:

    标签: javascript angularjs preloader


    【解决方案1】:

    你必须使用 ngIf。这是您可以使用的模板

    <table *ngIf="products.length != 0">
        <thead>
          <tr>
              <th>Id</th>
              <th>Title</th>
          </tr>
        </thead>
        <tbody>
    
        <tr *ngFor="#product of products">
            <td>{{product.id}}</td>
            <td>{{product.title}}</td>
        </tr>
    
        </tbody>
    </table>
    
    <loading-image *ngIf="products.length == 0"></loading-image>
    

    loading-image 是您自己定义的组件

    @Component({
        selector: 'loading-image',
        directives: [],
        template: `
        <img src="{{loadImg}}">
      `
    })
    export class LoadingImage {
        loadImg = 'assets/img/your-loading-image.gif';
    }
    

    【讨论】:

    • 对不起,我是 Angular 的新手。什么是 这是新组件中选择器的名称吗?我可以将例如 img 标签 直接放在我的 HTML 模板中的某处吗?
    • 我编辑了我的答案。是的,您可以使用 代替。但是,如果您在另一个组件中使用相同的加载图像,您可能需要为其创建一个组件。
    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 2017-03-25
    • 1970-01-01
    • 2018-11-27
    • 2019-05-07
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    相关资源
    最近更新 更多