title: Detecting when an attribute is removed
body: <p>I have a component on which there's an attribute who's value doesn't matter, just whether it exists or not. Up till now, I've just been getting it as an <code>Input</code>, and if it exists (checked in <code>onInit</code>), I set it to true.</p>
  
  <p>However, to make the component a bit more flexible, I want to handle a situation like this:</p>
  
  <pre><code>&lt;my-component [attr.testAttr]="someExpression()"&gt;
  </code></pre>
  
  <p>So when the expression changes and <code>testAttr</code> is existent or not, it will be detected.</p>
  
  <p>I tried a setter on the attribute, which triggers when the attribute is set, but does not when the attribute is removed, letting me detect unset -> set, but not set -> unset.</p>
  
  <p>I can't think of how to detect this change. An observable that watches attributes would be nice. I saw there is an <code>@Attribute</code> decorator, but it doesn't seem to take callbacks, and I don't see how it's useful.</p>