TP中JS如何获取模板变量(示例详解)

下面thinkphp框架教程栏目将给大家介绍php框架中JS优雅获取模板变量的方式,希望对需要的朋友有所帮助!

hinkphp框架

  let admin={:json_encode($admin)},  //$admin是php数组       level={$level};     console.log(admin, level);
nbsp;html&gt;          <meta>    <title>PHP框架中JS优雅获取模板变量的方式</title>    <style>    /* 通用的模板数据存放标签,视觉不可见 */    .data-box {         display: none;     }    </style>         <!-- 页面内容 -->   <h2>Hi,结果请看console</h2>    <!-- 数据存储节点,可以同时存在多个data属性 -->   <!-- 如果模板变量是数组,须先转成json字符串(如$admin) -->   <div></div>         <script>     /* 获取数据的操作 */       /* 初始化页面渲染时传过来的js变量 */    let dataContainerElem = document.querySelector(&#39;.data-box&#39;),        data = dataContainerElem ? dataContainerElem.dataset : {},        dataBox = {}; //模板变量容器,`.data-box`类选择器所在的所有`data`属性值集合        Object.keys(data).forEach(function (key) {         dataBox[key] = data[key];         if (isJsonString(data[key])) dataBox[key] = JSON.parse(data[key]); //是json格式的字串才转对象     });       /**     * 判断字串是否属于json字串     */    function isJsonString(str) {        let flag = false;           if (typeof str != &#39;string&#39;) return flag;           try {            JSON.parse(str);            flag = true;        } catch (e) {}           return flag;     }   </script>      <script>     /* 使用数据 */    //所有保存到数据节点的变量都成为`dataBox`对象的属性     console.log(dataBox.admin, dataBox.level);   </script>      

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享