前端工程师-特殊字符被转义-vue编译

compileTemplate(template, data, style){
        const escapeHtml = (string) => {
            var entityMap = {
                "&" : "&"
            };
            return String(string).replace(/&/g, function (s) {
                return entityMap[s];
            });
        }
      let complieComponent = Vue.extend({
        data() {
          return data
        },
        methods: {
            totalFn(arr, key, digits = 2) {
                let tempArr = arr || []
                let total = 0;
                for(let item of tempArr) {
                total = calculateUtil.numberAdd(total, objectUtil.getValueByPath(item, key), digits)
                }
                return total
            },
            
        },
        template: `<div>${template}</div>`
      });
      var complieComponentDom = new complieComponent().$mount();
      return escapeHtml(style + complieComponentDom.$el.innerHTML); // 在这里转义一遍,因为innerHTML中的字符串中如果有特殊字符会被转义
    }

 

posted @ 2021-01-19 11:15  ELSE-IF  阅读(2197)  评论(0)    收藏  举报