小编Mar*_*tra的帖子

使用Vue.js访问子组件中的api数据

我正在开发一个大型应用程序,我在处理来自API的数据并将其传递给我的子组件时遇到了很多麻烦.

情况.

我从父组件调用我的API,并通过prop将数据传递给我的子组件.子组件显示数据就好了,但是我无法访问子组件中ready函数中的数据.

看看:https://jsfiddle.net/kmrfkynf/3/

正如您在控制台中看到的那样,在子组件就绪函数中显示数据会给我一个空对象...

ready: function(){
    console.log('items from child component', this.items);
}
Run Code Online (Sandbox Code Playgroud)

...但是子组件在重复中呈现对象就好了.

所以问题是在父调用API调用完成之前呈现子组件.完成后,它会将数据同步到我的子组件,因此渲染得很好.

我试过的

从我的孩子组件中看到道具.当道具"完整"时,我可以访问它.但是当尝试修改道具中的某些数据时,这会给我带来很多问题,因为它每次都会渲染.这不是我想要的解决方案.

这个问题

当子组件准备好时,如何确保支撑被填充?

javascript api components vue.js

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

使用Angular2中的接口将对象推入新数组

我从Angular2中的服务中检索对象列表.

点击后我想把我的ngFor中的对象放到一个新的数组上(使用相同的界面).

我能够很好地显示列表中的项目.我也能够显示我在控制台中选择的项目,但是我无法将此对象推送到具有相同界面的新阵列中.

我的界面:

export interface Item {
    id: string,
    name: string,
    icon_url: string,
    exterior: string,
    type: string,
    tag: string,
    addedClass: string,
    selected: boolean
}
Run Code Online (Sandbox Code Playgroud)

我的组件:

import {Component, OnInit, DoCheck} from 'angular2/core';
import {Item} from './../interfaces/interfaces.ts';
import {ItemService} from './../services/item.service.ts';


@Component({
    template: `
        <h2>Add item</h2>
        <div class="itemlist">
            <ul class="items">
                <li 
                    *ngFor="#item of items"
                    [class.selected]="item === selectedItem"
                    (click)="onSelect(item)"
                >
                    <span class="item">
                        {{item.name}}
                    </span>
                </li>
            </ul>
        </div>
    `
})

export class AddTradeComponent implements OnInit {

    public items: Item[];
    public selectedItems: Item[];


    constructor(private …
Run Code Online (Sandbox Code Playgroud)

arrays service components angular

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

标签 统计

components ×2

angular ×1

api ×1

arrays ×1

javascript ×1

service ×1

vue.js ×1