<h3 dir="auto">What problem does this feature solve?</h3>
<p dir="auto">With the new Vue.observable you can create a simple reactive store which is super nice. It seems you can use these reactive properties directly in views (you don't need to use them through local computed properties). In this scenario, it would be nice to be able to also have global state based computed properties. This way, you'd be able to create a very nice and imo quite capable yet simple store pattern (compared to more verbose and complex solutions like Vuex). You also don't have to sprinkle computed props on components where they imo don't really belong.</p>
<p dir="auto">It's possible to do a workaround by initiating new Vue instances, but I assume that causes some significant and completely unnecessary overhead.</p>
<h3 dir="auto">What does the proposed API look like?</h3>
<p dir="auto">I'm completely open for your wisedom ;-) A few suggestions:</p>
<p dir="auto">A)<br>
Vue.computed({<br>
computedProp: function() { ... }<br>
});</p>
<p dir="auto">B)<br>
Vue.observable({<br>
regularReactiveProp: 'something',<br>
get computedProp: function () { ... }<br>
});</p>
<p dir="auto">I'm btw. not a big fan of transforming all functions to computed props, as this makes it less simple (impossible?) to pass along one store object that also contains all methods (for a more full scale model layer).</p>
<h3 dir="auto">Vue.js version</h3>
<p dir="auto">2.0-rc8 / 2.0-rc7</p>
<h3 dir="auto">Reproduction Link</h3>
<p dir="auto"><a href="https://codepen.io/toxic-johann/pen/JRJgGJ?editors=1111" rel="nofollow">https://codepen.io/toxic-johann/pen/JRJgGJ?editors=1111</a></p>
<h3 dir="auto">Steps to reproduce</h3>
<p dir="auto">use a v-for to render component<br>
in component, you have to write a v-for with template in it but not wrapped  with a root element<br>
open console, and run test() function</p>
<h3 dir="auto">What is Expected?</h3>
<p dir="auto">open console, and run success() function<br>
or you can click <a href="https://codepen.io/toxic-johann/pen/JRJgGJ?editors=1111" rel="nofollow">https://codepen.io/toxic-johann/pen/JRJgGJ?editors=1111</a>.<br>
when i keep on one root  element in v-for, the problem dispear.</p>
<p dir="auto">So I think, if vue consider multiple element int the template is forbidden.It should throw a warn.<br>
Otherwise, it's a bug</p>
<h3 dir="auto">What is actually happening?</h3>
<p dir="auto">throw the warning</p>
<blockquote>
<p dir="auto">[Vue warn]: It seems there are duplicate keys that is causing an update error. Make sure each v-for item has a unique key.<br>
and error<br>
Uncaught (in promise) TypeError: Cannot read property 'tag' of undefined</p>
</blockquote>
<p dir="auto">it's the same problem with <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="179950989" data-permission-text="Title is private" data-url="https://github.com/vuejs/vue/issues/3807" data-hovercard-type="issue" data-hovercard-url="/vuejs/vue/issues/3807/hovercard" href="https://github.com/vuejs/vue/issues/3807">#3807</a><br>
u can reopen that.</p>