<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="var a = {
  b: {},
  c: {}
}
var unwatch = vm.$watch('a', function (newVal, oldVal) {
  // do something
}, { deep:true });"><pre class="notranslate"><span class="pl-k">var</span> <span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span>
  <span class="pl-c1">b</span>: <span class="pl-kos">{</span><span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-c1">c</span>: <span class="pl-kos">{</span><span class="pl-kos">}</span>
<span class="pl-kos">}</span>
<span class="pl-k">var</span> <span class="pl-s1">unwatch</span> <span class="pl-c1">=</span> <span class="pl-s1">vm</span><span class="pl-kos">.</span><span class="pl-en">$watch</span><span class="pl-kos">(</span><span class="pl-s">'a'</span><span class="pl-kos">,</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">newVal</span><span class="pl-kos">,</span> <span class="pl-s1">oldVal</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
  <span class="pl-c">// do something</span>
<span class="pl-kos">}</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">deep</span>:<span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">Is is possible to unwatch a specific key or in other words <strong>exclude</strong> a property when deep watch?</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="unwatch('a.b')"><pre class="notranslate"><span class="pl-en">unwatch</span><span class="pl-kos">(</span><span class="pl-s">'a.b'</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">Thank you !</p>
<p dir="auto">I want something like this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
  data() {
    return {
      song: {
        tracks: [...]
      }
    }
  },
  computed: {
    'song.duration'() {
      return max(this.song.tracks.map(track =&gt; track.duration))
    }
  }
}"><pre class="notranslate"><code class="notranslate">{
  data() {
    return {
      song: {
        tracks: [...]
      }
    }
  },
  computed: {
    'song.duration'() {
      return max(this.song.tracks.map(track =&gt; track.duration))
    }
  }
}
</code></pre></div>
<p dir="auto">in such a way that <code class="notranslate">duration</code> is an actual (computed) property on the song object.</p>
<p dir="auto">I have a feeling this may be quite easy to add. With some pointers where to start, I'd be happy to try to add this myself.</p>