Does KeyValueDiffers of DoCheck only works for one object per component?
<p>First I had just this in my ngDoCheck method and works perfectly:</p>

<pre><code>var productChanges = this.differ.diff(this.myProduct);
</code></pre>

<p>then decided to check changes on a second model of my component and added this below line:</p>

<pre><code>var companyChanges = this.differ.diff(this.myCompany);
</code></pre>

<p>and both changes are chekeced in separate if statements but only last one gets called (companyChanges)</p>

<p>Is this expected behavior? Does ngDoCheck only works for one object per component?</p>

<p>For the sake of clarity here is my full ngDoCheck method:</p>

<pre><code>ngDoCheck() {
    var productChanges = this.differ.diff(this.myProduct);

    //DOESN'T IT CHECK 2 MODELS LIKE SO BELOW ?
    //var companyChanges = this.differ.diff(this.myCompany);

    if (productChanges) {
        // console.log('Product changes detected');

        productChanges.forEachChangedItem((r: KeyValueChangeRecord) =&gt; {

            if (r.currentValue &amp;&amp; r.currentValue != r.previousValue) {
                this.filterProduct(r.currentValue, r.key);

            }
        });
    }
</code></pre>

<p><strong>EDIT:</strong> by reading other questions and answers I feel I need to share this:</p>

<p>In component constructor differ is defined like so:</p>

<pre><code>this.differ = differs.find({}).create(null);
</code></pre>

<p>Probably this is what needs to be changed first.</p>