Vue组件里的el怎么使用

官方文档里写
el为实例提供挂载元素。并且在组件里需要用function返回
template又会替换掉挂载点,
组件本身又要起一个名字,
起名之后在html中通过自定义标签来挂载组件template,
那el还有什么意义呢?怎么用呢


    var MyComponent = Vue.extend({
    el:function(){
        return:'#myComponent'
    },
    data: function () {
        return { a: 1 }
      }
    })
    <my-component></my-component>
阅读 11.5k
2 个回答

如果是SPA,我觉得一般用不到,因为router.start(App,'#app')会自动初始化一个vue实例。

如果不是单页应用,比如和jquery结合的项目,某一部分需要用vue,那么将那部分变成一个vue实例的时候就需要用到el,实例创建的次数也是不限制的

你这写法就是错的。
vue组件是没有el选项的,el选项只能用在用new关键字创建的实例上。例如:

var vm = new Vue({
    el: "#app",
    data: {
      ...
    }
})

el选项后面写个函数,返回的还是你要挂载到哪个元素上,返回的不是组件名。另一种写法就是:

var vm = new Vue({
    el: function(){
      return "#app";
    },
    data: {
      ...
    }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题