vue中render可否根据JSON动态生成class?

新手上路,请多包涵

使用vue render可否根据数据生成相应的class样式
如接口返回:

{"style":{"width":13,"height":12,"margin":"4px 0 4px 0","display":"flex","background":"url(https://test.jpg) -1px -1px no-repeat","flexDirection":"column","backgroundSize":"15px 14px"},"className":"icon_5"}

转为:

.icon_5 {
width:13px,
....
}
阅读 1.8k
2 个回答

通过vuerender hook生成css?自身不行,你自己提取,render只是一个用来接收VNodehook,不会给你做额外的工作

<template>
  <div :style="styleObject" :class="className"></div>
</template>

<script>
export default {
  data() {
    return {
      styleObject: {},
      className: ''
    };
  },
  created() {
    const responseData = {"style":{"width":13,"height":12,"margin":"4px 0 4px 0","display":"flex","background":"url(https://test.jpg) -1px -1px no-repeat","flexDirection":"column","backgroundSize":"15px 14px"},"className":"icon_5"};
    this.styleObject = responseData.style;
    this.className = responseData.className;
  }
};
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题