Vue的基础理解(四)
<h4>怎样理解vue的单向数据流?</h4>
<ul>
<li>在vue中,父组件可以通过prop将数据传给子组件,但这个prop只能由父组件来修改,子组件修改就会抛出错误。</li>
<li>
<h2>如果子组件想修改数据,只能通过$emit由子组件派发事件,并由父组件接收事件进行修改。</h2>
</li>
</ul>
<h4>为什么子组件不可以修改父组件传递的Props?(为何提倡单项数据流)</h4>
<ul>
<li>
<p>由于vue提倡单项数据流,即父组件props的更新会流向子组件,但反过来却不行,这是为了防止意外改变父组件的状态,使得应用的数据流变的难以理解。</p>
</li>
<li>
<h2>如果破坏了单项数据流,当应用变的复杂时,debug的成本会很高。</h2>
</li>
</ul>
<h4>组件间有哪些通信方式?</h4>
<ul>
<li>父子组件通信
<ul>
<li>props / $emit</li>
<li>$parent / $children</li>
<li>ref</li>
<li>provide / inject</li>
<li>.sync</li>
</ul></li>
<li>非父子组件通信
<ul>
<li>eventBus</li>
<li>通过根实例$root</li>
<li>vuex</li>
<li>$attr / $listeners</li>
<li>
<h2>provide / inject</h2>
<h4>说一说vue的动态组件?</h4>
</li>
</ul></li>
<li>多个组件通过同一个挂载点进行组件的切换,is的值是哪个组件的名称,那么页面就会显示这个组件。</li>
</ul>
<pre><code><div :is = 'XXX'></div></code></pre>