angular2中视图和服务之间的双向绑定

时间:2017-10-13 09:31:40

标签: angular data-binding service

我的应用中有2个组件。

第一个和第二个组件都注入app.component。 在第一个组件中,我有一个下拉列表,当选择该选项时,必须更新第二个组件中的数据。 为此,我正在使用服务。

因此,当第一个compoenent的select的更改事件被触发时,我在服务中使数组为空并加载新数据

public setDataByCategory() {
        console.log("CURRENT ROUTE=====" + this.route.url);
        var isBookmarked = false;
        if (this.route.url == '/test') {
            isBookmarked = false;
        }
        else {
            isBookmarked = true;
        }
        this.dataArray.length = 0;//=> EMPTY THE ARRAY
        this.getCompanyData('', isBookmarked, true).then(data => {

            this.setData(data);
        });

    }



public setData(data: any) {
        var datas= data.datas;
        for (let i in datas) {
            var current = this.formatdata(datas[i]);
            this.dataArray.push(current );

        }



    }

当我通过使用清空dataArray时   this.dataArray.length = 0; 视图得到更新。 但是当我使用 this.setData(data); 插入新值时,视图不会改变。我不明白为什么会出现这种行为。 我们可以使用observable来实现这种改变,但为什么删除有效,但添加数据并不是。

我需要对此有所了解。

0 个答案:

没有答案