title: Vue not reacting to data change
body: <p>I have the following vue2 code</p>
  
  <pre><code>methods: {
      open: function(conversation){
          conversation.loading = true;
          this.$set(this, 'activeConversation', conversation);
          this.$http.get('/conversation/messages', {
              params: {
                  conversationId: conversation.id
              }
          }).then((response) =&gt; {
              // this.$set(this.activeConversation, 'messages', response.data); // this was the first try
              this.activeConversation.messages.push(response.data[0]); // this is the second try
          })
      }
  }
  </code></pre>
  
  <p>The template reacts to the first $set when i change the activeConversation. But when I change the messages property of the activeConversation nothing happens.
  I see the changes in vue devtools, but nothing changes in the DOM.</p>
  
  <p>By nothing changes, I mean the v-for="message in activeConversation.messages" does not render anything. nor does the {{activeConversation}}</p>
  
  <p>in data i have activeConversation: null. As a conversation i pass an object with id, sender, messages</p>