今天在学习vue的过程中,遇到了一个小问题,在vue的模版<template>标签中无法直接调用windows对象身上的方法,而react中可以,感觉这个问题还挺容易遇到的,来记录一下。


首先React

先看下面的简单的代码,

image.png

实现的页面如下:

image.png

点击按钮可以在控制台看到

image.png

接下来是Vue

代码如下,首先就会看到 @click事件绑定就出现了报错。

image.png

页面如下

image.png

当我们点击按钮的时候,控制台会提示,找不到log这个属性或者方法。

image.png

直接说结论,在vue的template里都是使用了vue实例中或者Vue构造函数身上的属性和方法,当你在template里调用console.log方法时候,它会去vm(假设vm=new Vue())这个实例对象身上找console.log这个方法,结果没有,那么就回去vm__proto__原型对象身上找,那肯定也没有。

如果要用怎么办呢?

可以在<script>标签中拿到window对象,然后自己使用。

image.png

至于为什么,目前对我来说还得继续学习Vue才可以下定论。


FFF方
451 声望12 粉丝