<p dir="auto">Implement change detection on properties only. (This is needed to allow work on the HTML compiler to proceed.)</p>
<p dir="auto">We would like to implement bare bones change detection so that we can unblock ourselves for other parts of the system and work on them in parallel.</p>
<p dir="auto"><a href="https://github.com/mhevery/angular/blob/master/modules/change_detection/src/watch_group.js">https://github.com/mhevery/angular/blob/master/modules/change_detection/src/watch_group.js</a><br>
<a href="https://github.com/mhevery/angular/blob/master/modules/change_detection/src/record.js">https://github.com/mhevery/angular/blob/master/modules/change_detection/src/record.js</a></p>
<p dir="auto">I would love to get a very simple change detection going which can only watch simple properties such as <code class="notranslate">foo</code> or <code class="notranslate">bar</code> ie no (<code class="notranslate">foo.bar</code> or <code class="notranslate">foo().bar</code> or anything of that sort)</p>
<p dir="auto">We should be able to implement this without the need for parser.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class Person {
  var age;
}

var person = new Person();
var pwg = new ProtoWatchGroup();
pwg.watch('age');
var wg = pwg.instantiate();
wg.setContext(person);
var cd = new ChangeDetection(wg);
cd.detectChanges();"><pre class="notranslate"><code class="notranslate">class Person {
  var age;
}

var person = new Person();
var pwg = new ProtoWatchGroup();
pwg.watch('age');
var wg = pwg.instantiate();
wg.setContext(person);
var cd = new ChangeDetection(wg);
cd.detectChanges();
</code></pre></div>
<p dir="auto">Make this test pass: </p><div class="Box Box--condensed my-2">
  <div class="Box-header f6">
    <p class="mb-0 text-bold">
      <a href="https://github.com/angular/angular/blob/69210e4fde38433b4aa6c66e7c4e0e0093171df3/modules/change_detection/test/change_detection_spec.js#L9">angular/modules/change_detection/test/change_detection_spec.js</a>
    </p>
    <p class="mb-0 color-fg-muted">
         Line 9
      in
      <a data-pjax="true" class="commit-tease-sha" href="/angular/angular/commit/69210e4fde38433b4aa6c66e7c4e0e0093171df3">69210e4</a>
    </p>
  </div>
  <div itemprop="text" class="Box-body p-0 blob-wrapper blob-wrapper-embedded data">
    <table class="highlight tab-size mb-0 js-file-line-container" data-tab-size="8" data-paste-markdown-skip="">

        <tbody><tr class="border-0">
          <td id="L9" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="9"></td>
          <td id="LC9" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> <span class="pl-en">it</span><span class="pl-kos">(</span><span class="pl-s">'should do simple watching'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span> </td>
        </tr>
    </tbody></table>
  </div>
</div>
<p></p>