vue2利用render,js中写html

[复制链接]
发表于 2025-11-25 15:43:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、js部门table.js
  1. export default {
  2.   name: "dadeT",
  3.   data() {
  4.     return {
  5.       dades: 6666
  6.     };
  7.   },
  8.   render(h) {
  9.     return h('div', [
  10.       h('span', `组件数据:${this.dades}`),  // 利用data里的dades数据,展示在页面上
  11.       h('span', '89855545')
  12.     ]);
  13.   }
  14. };
复制代码
2、vue部门
  1. <template>
  2.   <div>
  3.     <dadeT></dadeT>
  4.   </div>
  5. </template>
  6. <script>
  7.   import dadeT from "./js/table.js"
  8.   export default{
  9.     data(){
  10.       return {
  11.         dades:6666
  12.       }
  13.     },
  14.     components:{
  15.       dadeT
  16.     },
  17.     mounted() {
  18.     },
  19.     methods:{
  20.     }
  21.   }
  22. </script>
  23. <style>
  24. </style>
复制代码
3、js也可以如许写
  1. export default {
  2.   name: "dadeT",
  3.   data() {
  4.     return {
  5.       dades: 6666
  6.     };
  7.   },
  8.   render(h) {
  9.     return (
  10.       <div>8777777777</div>
  11.     );
  12.   }
  13. };
复制代码
4、条件判定
  1. export default {
  2.   name: "dadeT",
  3.   data() {
  4.     return {
  5.       dades: 6666
  6.     };
  7.   },
  8.   render(h) {
  9.     let text = ""
  10.     if(this.dades == 6666){
  11.       text = "是"
  12.     }else{
  13.       text = "不是"
  14.     }
  15.     return (
  16.       <div>
  17.         <div>{text}</div>
  18.         <div>{text}</div>
  19.       </div>
  20.     );
  21.   }
  22. };
复制代码
大概
  1. export default {
  2.   props: ['showButton'],
  3.   render(h) {
  4.     if (this.showButton) {
  5.       return h('button', '点击我');
  6.     } else {
  7.       return h('input', {
  8.         attrs: {
  9.           type: 'text'
  10.         }
  11.       });
  12.     }
  13.   }
  14. };
复制代码
5、循环
  1. export default {
  2.   data() {
  3.     return {
  4.       items: [
  5.         { id: 1, isVisible: true },
  6.         { id: 2, isVisible: false },
  7.         { id: 3, isVisible: true }
  8.       ]
  9.     };
  10.   },
  11.   render(h) {
  12.     return h('div', this.items.map(item => {
  13.       if (item.isVisible) {
  14.         return h('p', `这是第${item.id}个元素`);
  15.       } else {
  16.         return null;
  17.       }
  18.     }));
  19.   }
  20. };
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表