Vuejs2 vue组件和应用程序中的'el'和'template'有什么区别?
VUE组件(以及应用程序本身)有一个Vuejs2 vue组件和应用程序中的'el'和'template'有什么区别?,vuejs2,Vuejs2,VUE组件(以及应用程序本身)有一个el:,还有一个模板 我想了解区别是什么,何时使用其中一种,何时使用另一种: 如果我使用Monaca CLI从最小VUE OnsenUI模板创建项目,我会看到: new Vue({ el: '#app', template: '<app></app>', components: { App } }); 我的vue js说: el: "replace-this", template: "<div id='replac
el:
,还有一个模板
我想了解区别是什么,何时使用其中一种,何时使用另一种:
如果我使用Monaca CLI从最小VUE OnsenUI模板创建项目,我会看到:
new Vue({
el: '#app',
template: '<app></app>',
components: { App }
});
我的vue js说:
el: "replace-this",
template: "<div id='replaced'>hi there</div>"
如果我的html是
<html>
<body>
<div id="bla">
anything inside here including the surrounding div will be replaced
</div>
<template id="blu">
<span id ="replacing-html">
when ran in span, it stays mainly in the pan
</span>
</template>
</body>
</html>
这里的任何东西,包括周围的div都将被替换
在跨度内运行时,它主要停留在平底锅中
然后id为bla
的div将替换为模板中的替换html
span元素。(模板标记本身及其所有内容仍将保留在发出的html中。是否正确?)
所以我需要理解:
模板
内容是否替换了el
元素
模板下必须只有一个根元素吗李>
我的第一个例子正确吗
第二个例子我说得对吗
包含所有内容的模板
标记是否会保留在发出的html中李>
在上面的Monaca Vue OnsenUI示例中,el
与模板“app”相同,会发生什么情况。这不是递归的吗?什么被替换,用什么替换李>
为Vue实例提供一个要装载的现有DOM元素。它可以是CSS选择器字符串或实际的HTMLElement
安装实例后,解析的元素将作为vm.$el进行访问
如果实例化时该选项可用,实例将立即进入编译;否则,用户必须显式调用vm.$mount()以手动启动编译
用作Vue实例标记的字符串模板。模板将替换已安装的元件。除非模板中存在内容分发槽,否则将忽略已装入元素中的任何现有标记
如果字符串以#开头,它将用作查询选择器,并使用所选元素的innerHTML作为模板字符串。这允许使用通用技巧包含模板
在您的示例中,您正在定义的Vue实例正在注册一个应用程序
组件,然后在其模板定义中使用该组件。它还在DOM中查找id为app
的现有元素,以便在装载时用作关联元素
我想你的困惑是因为两人都在使用一种叫做“app”的东西。它们的名称不必相同。在您接受原始问题的答案后,请不要更改您的问题。如果你有一个新问题,为它创建一个新的帖子。我并没有真的改变它,而是为了清晰而更新。通过举例说明,对公认的正确答案进行了评论。因此,这个答案实际上回答了以下问题(我为Clarity修改了问题):1。模板内容是否正在替换el元素?是的。模板下必须只有一个根元素吗?是的。我的第一个例子正确吗?是的。第二个例子我说得对吗?是的。包含所有内容的模板标记会保留在发出的html中吗?是的,6。6.在上面的Monaca Vue OnsenUI示例中,el与模板“app”相同,会发生什么情况。这不是递归的吗?什么被替换,用什么替换?答:代码中的app元素将在HTML中被“自身”替换,但同时组件也有js和css,在这个app的“范围”内与之连接。在导航器、选项卡或拆分器的情况下,代码可以设置一个页面来显示应用程序外部的第二个组件中的页面。与导航器/选项卡的进一步交互可以更改当前显示的页面。@pashute如果您想发布自己的答案以更好地解决文章中的每个新问题,您可以。然后我会删除我的帖子,它是针对你问题的早期版本。不,我是想接受答案。好像我忘了这么做。谢谢你让我走上正轨!
<html>...<body>...<div id='replaced'>hi there</div>...
el: "#bla",
template: "#blu"
<html>
<body>
<div id="bla">
anything inside here including the surrounding div will be replaced
</div>
<template id="blu">
<span id ="replacing-html">
when ran in span, it stays mainly in the pan
</span>
</template>
</body>
</html>