模板与实例的关系

 首先确定一个问题:实例与模板只能一一对应,不存在一对多的关系

 一个容器对应多个实例

一个容器只能对应一个实例,若是多个实例接管了同一个容器,只有第一个实例中的数据渲染 ,且容器中用到的其他实例中的数据不会展示,控制台也会输出错误

<!-- 创建容器 -->
<div id="root">
  <h1>hello,{{name}}</h1>
  <h1>我的年龄是,{{age}}</h1>
</div>

<script>
  Vue.config.productionTip = false

  new Vue({
    el: '#root', // 用于指定当前Vue实例为那个容器服务,通常为css选择器,也可以使用class
    // el: document.getElementById('#root'), // 也可以通过document点出来
    data: { // 用于存储数据,供el所指定的容器去使用值,我们先写成一个对象
      name: 'al111',
    }
  })

  new Vue({
    el: '#root', // 用于指定当前Vue实例为那个容器服务,通常为css选择器,也可以使用class
    // el: document.getElementById('#root'), // 也可以通过document点出来
    data: { // 用于存储数据,供el所指定的容器去使用值,我们先写成一个对象
      age: '2222'
    }
  })
</script>

 

 

 多个容器对应一个实例

从页面效果可以看出,只有第一个容器正确的渲染出了数据,第二个容器虽然展示了,但是其中的Vue语法并没有执行 

<!-- 创建容器 -->
<div class="root">
  <h1>hello,{{name}}</h1>
  <h1>我的年龄是,{{age}}</h1>
</div>

<div class="root">
  <h1>hello,{{name}}</h1>
  <h1>我的年龄是,{{age}}</h1>
</div>

<script>
  Vue.config.productionTip = false

  new Vue({
    el: '.root', // 用于指定当前Vue实例为那个容器服务,通常为css选择器,也可以使用class
    // el: document.getElementById('#root'), // 也可以通过document点出来
    data: { // 用于存储数据,供el所指定的容器去使用值,我们先写成一个对象
      name: 'al',
      age: '1111'
    }
  })
</script>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值