页面刷新时,vue的:class="function"方法的自动加载?

imagevuejs实战的组件篇有个练习,实现一个标签页;

组件模板中绑定了一个class属性,其值是由一个方法来控制的,这个方法写在了methods中,其他的方法都没有调用它,在页面刷新时,这个方法会自动进行加载;

这个是vue的什么加载机制吗?怎么会自动加载这个方法呢?

阅读 3.1k
2 个回答

JS 表达式中,变量后面跟一个 () 代表执行函数。
Vue 解析模板的时候, bind 后面的值会被解析成 JS 表达式,解析到这里的时候,得到的表达式是

tabCls();

Vue 会从实例属性中寻找 tabCls ,所以这句代码最终会变成

this.tabCls();

所以一旦解析成 JS,这句代码就会执行。

当有响应式依赖发生变化时,组件的整个 VDOM 树都会被重新渲染 如果不想每次刷新重复调用方法,就把tabCls放到模板之外进行
看这篇https://forum.vuejs.org/t/v-f...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题