精华内容
下载资源
问答
  • 刀口机房标签模板

    2018-05-04 07:55:39
    刀口机房标签模板刀口机房标签模板刀口机房标签模板刀口机房标签模板
  • 关键字描述:模板 制作 专题 标签 " < article if /if > classphpcms标签模板及专题模板的制作1.标签模板的制作前面我们已经讲到了每个频道模板的制作,但是我们只是插入对应的标签代码,如何做到显示的效果...
  • 前端标签模板bootstrap

    2017-05-06 17:29:47
    前端标签模板bootstrap
  • 主要介绍了ES6模板字符串和标签模板的应用,结合实例形式分析了ES6模板字符串和标签模板的功能、原理、用法及相关操作注意事项,需要的朋友可以参考下
  • BTW的标签模板

    2018-11-20 13:45:52
    BTW用于打印的标签模板,可直接制作包装箱的标签,可以修改。
  • js代码-模板字符串:标签模板
  • Label Expert -Untitled模板制作打印软件(标签模板) A4网线标签打印纸 打印模板软件(附送2个模板) A4网线标签防水线缆标签彩色不干胶通信机房贴纸P型可手写打印纸用的软件及模板 打印软件安装包(温馨提示:...
  • 主要为大家介绍了帝国CMS专题调用标签eshowzt不支持标签模板使用程序代码的解决方法,通过修改帝国CMS源码,添加处理字段与代码,实现专题调用标签eshowzt可处理标签模板PHP代码的功能,增加了程序的灵活性,需要的朋友...
  • 那么我们如果要自定义一些自己需要的注释标签模板呢,比如在使用 apidoc生成接口模板时,就需要经常写一些apidoc定义的注释标签如@apiParam {type} name desc 等,但是这些标签idea 本身是没有的,需要我们自己定义...

    我们在开发工具中的代码注释经常会用到一些@标签,比如常用的@author ,如下:
    在这里插入图片描述
    那么我们如果要自定义一些自己需要的注释标签模板呢,比如在使用 apidoc生成接口模板时,就需要经常写一些apidoc定义的注释标签如@apiParam {type} name desc 等,但是这些标签idea 本身是没有的,需要我们自己定义。
    下面介绍如何定义idea代码注释中标签模板
    File -> Settings -> Live Templates -> 点击右边 添加按钮 ‘+’ -> Template Group

    在这里插入图片描述
    点击右边 添加按钮 ‘+’ -> Live Template
    Abbreviation 是模板名缩写
    Template text 是模板内容
    在这里插入图片描述
    设置这个模板在哪里可以使用 ,点击下面 绿色的 Define 或 Change 选择Java 里的 Comment

    在这里插入图片描述

    设置完保持关闭设置后,来体验一下,在注释/** */ 里面输入@a 就会弹出 @apiParam的选项,选择后就会输出@apiParam模板的内容: @apiParam {type} name desc
    具体如下:

    	/**
         * @apiParam {type} name desc
         */
    

    在这里插入图片描述

    展开全文
  • ES6 标签模板与模板字符串

    千次阅读 2017-11-20 18:59:31
    标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的是函数,紧跟在后面的模板字符串就是它的参数。

    模板字符串

    模板字符串使用反引号 () 来代替普通字符串中的用双引号和单引号。模板字符串可以包含特定语法(${expression})的占位符。占位符中的表达式和周围的文本会一起传递给一个默认函数,该函数负责将所有的部分连接起来。

    而占位符${},可以是任意的 js 表达式(函数或者运算),甚至是另一个模板字符串,会将其计算的结果作为字符串输出。如果模板中需要使用$,{等字符串,则需要进行转义。

    先来看一下以前我们对字符串的使用:

    /**
     * Before ES6 字符串拼接
     */
    var name = '丁香医生';
    var desc = '丁香医生是面向大众的科普性健康类网站';
    var html = function(name, desc){
        var tpl = '公司名:' + name + '\n'+
                '简介:'+ desc;
        return tpl;
    }
    

    而现在:

    var html = `公司名:${name}
        简介:${desc}`;

    而单纯的模板字符串还存在着很多的局限性。如:

    • 不能自动转义特殊的字符串。(这样很容易引起注入攻击)
    • 不能很好的和国际化库配合(即不会格式化特定语言的数字,日期,文字等)
    • 没有内建循环语法,(甚至连条件语句都不支持, 只可以使用模板套构的方法)


    为此,引出了标签模板的概念。

    标签模板


    标签模板是在反引号前面引入一个标签(tag)。该标签是一个函数,用于处于定制化模板字符串后返回值。就拿上面对特殊字符串举例。

    var name = '丁香医生';
    var desc = '丁香医生是面向大众的科普性健康类网站';
    tag`公司名:${name}简介:${desc}`
    

    tag 的参数则分别为 ['公司名:','简介:'], '丁香医生', '丁香医生是面向大众的科普性健康类网站'。


    标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的是函数,紧跟在后面的模板字符串就是它的参数。

    var a = 5;
    var b = 10;
    tag `Hello ${a+b} world ${a*b}`;
    //这个标识名tag,它是一个函数。整个表达式的返回值,就是tag函数处理模板字符串之后的返回值。函数tag会依次接收到多个参数。

    tag函数的第一个参数是一个数组,该数组的成员时模板字符串中那些没有变量替换的部分,也就是说,变量替换只发生在数组的第一个成员和第二个成员之间,以此类推。tag函数的其他参数都是模板字符串各个变量被替换后的值,由于本例中,模板字符串含有两个变量,因此tag会接收到value1和value2两个参数。
    tag函数所有参数的实际值如下:
    ——第一个参数:['Hello ',' world ','']
    ——第二个参数:15
    ——第三个参数:50
    也就是说tag函数实际上是以下面的形式调用的
    tag(['Hello ',' world ',''],15,50);
    我们可以按照需要编写tag 函数的代码。

    var a = 5;
    var b = 10;
    
    function tag(s,v1,v2){
        console.log(s[0]);
        console.log(s[1]);
        console.log(s[2]);
        console.log(v1);
        console.log(v2);
        return "ok";
    }
    tag`Hello ${a+b} world ${a*b}`;
    //"Hello "
    //" world "
    //""
    //15
    //50
    //"ok"
    

    下面是一个更复杂的例子

    var total = 30;
    var msg = passthru`The total is ${total} (${total*1.05} with tax)`;
    function passthru(literals){
        var result = "";
        var i = 0;
    
        while (i<literals.length){
            result += literals[i++]; literals这个数组包括的是模板字符串中那些没有变量替换的部分,也就是The total is,(,with tax).
            if(i<arguments.length){
                result+=arguments[i]; //arguments这个数组包括的是全部的参数,因为执行到这里的时候,i已经加1,所以result连接的是模板字符串各个变量被替换后的值。也就是这里的30,31.5
            }
        }
        return result;
    }
    msg //"The total is 30 (31.5 with tax)"
    //上面这个例子展示了如何将各个参数按照原来的位置拼回去
    //passthru函数采用rest参数的写法如下
    function passthru(literals,...values){
        var output ="";
        for(var index = 0;index<values.length;index++){
            output = literals[index]+values[index];
        }
        output+=literals[index];
        return output;
    }

    标签模板的一个重要应用,就是过滤HTML字符串,防止用户输入恶意内容

    function SaferHTML(templateData){
        var s = templateData[0];
        var i;
        for(i = 1;i<arguments.length;i++){
            var arg = String(arguments[i]);
    
            //sender里面可能有特殊字符,进行转义
            s += arg.replace(/&/g,"&amp;")
                    .replace(/</g,"&lt;")
                    .replace(/>/g,"&gt;");
            s += templateData[i];
        }
        console.log(i);//2,表示这个循环只执行了一次,因为templateData[0]="<p>",arguments这个数组只有${sender}这个元素,后面一长串字符都是templateData[2];
        return s;
    }
    var sender = '<script>alert("abc")</script>';
    var message = SaferHTML`<p>${sender} has sent you a message.</p>`;
    console.log(message);

    var total = 30;
    var msg = passthru`The total is ${total}${total*1.05} with tax)`;
    function passthru(literals){
        var result = "";
        var i = 0;
        while (i<literals.length){
            console.log(arguments[i]);
            // console.log(literals[i++]);
            result += literals[i++];
            if(i<arguments.length){
                result+=arguments[i];
                // console.log(arguments[i]);
            }
        }
        return result;
    }
    console.log(msg);

    标签模板的另一个应用是多语言转换(国际化处理)

    var book = {
        title:"shiji",
        author:"simaqian"
    };
    var book1 = {
        title:"sanguo",
        author:"luo"
    };
    var myBooks = [book,book1];
    function hashTemplate(templateData){
        var s = "";
        var i = 0;
        while(i<templateData.length){
            s += templateData[i++];
            if(i<arguments.length){
                s += arguments[i];
            }
        }
        return s;
    }
    var libraryHtml = hashTemplate`
        <ul>
            #for book in ${myBooks}
                <li><i>${book.title}</i> by ${book.author}</li>
            #end
        </ul>
    `;
    console.log(libraryHtml);

    模板处理函数的第一个参数(模板字符串数组)还有一个raw属性

    在谷歌浏览器中,运行出来,还是本身,没有变化。

    String.raw()

    ES6还为原生的String对象提供了raw方法
    String.raw方法往往用来充当模板字符串的处理函数,返回一个反斜线都被转义(即反斜线前面再加一个反斜线)的字符串,对应于替换变量后的模板字符串
    String.rawHi\n${2+3}!;
    //"Hi\n5!"

    String.rawHi\\n
    //"Hi\n"

    
    String.raw = function(strings,...values){
        var output = "";
        for(var index = 0;index<values.length;index++){
            output += strings.raw[index]+values[index];
        }
    
        output += strings.raw[index];
        return output;
    }

    String.raw方法可以作为处理模板字符串的基本方法,它会将所有变量替换,并对反斜线进行转义,方便下一步作为字符串使用
    String.raw方法也可以作为正常的函数使用,这时,其第一个参数应该是一个具有raw属性的对象,且raw属性的值应该是一个数组。

    String.raw({raw:'test'},0,1,2);
    //"t0e1s2t"
    
    //等同于
    String.raw({raw:['t','e','s','t']},0,1,2);

    展开全文
  • ES6标签模板

    千次阅读 2017-09-22 16:06:44
    这被称为“标签模板”功能(tagged template)。 如果没有参数的话,那个普通的调用没什么区别,比如alert`123` // 等同于 alert(123)但是,如果模板字符串中带有变量,就不是简单的调用了,而是会将模板字符串先...

    定义:当模板字符串紧跟在一个函数名后面的时候,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能(tagged template)。
    如果没有参数的话,那个普通的调用没什么区别,比如

    alert`123`
    // 等同于 (但是使用模板字符串传入的参数是一个数组,包含一个row属性。注1)
    alert(123)

    但是,如果模板字符串中带有变量,就不是简单的调用了,而是会将模板字符串先处理成多个参数,再调用函数。

    let a = 5;
    let b = 10;
    
    tag`Hello ${ a + b } world ${ a * b }`;
    // 等同于
    tag(['Hello ', ' world ', ''], 15, 50);

    带有变量的模板字符串会被先处理成参数形式,再传入函数中。规则就是: 字符串中的非变量被拆成数组形式,变量作为值紧跟数组后面作为参数传入。
    需要注意的是,入股有2个或多个参数相邻,那么其中会被算有一个空字符串,举个栗子:

    let { log } = console;
    let total = 30;
    let msg = passthru`The total is ${total}${total}${total} (${total*1.05} with tax)`;
    
    function passthru(literals) {
      let result = '';
      let i = 0;
      log(literals);   //  ["The total is ", "", "", " (", " with tax)"]
      while (i < literals.length) {
        result += literals[i++];
        if (i < arguments.length) {
          result += arguments[i];
        }
      }
      return result;
    }

    上述函数采用rest参数的写法如下:

    function passthru(literals, ...values) {
      var output = "";
      for (var index = 0; index < values.length; index++) {
        output += literals[index] + values[index];
      }
    
      output += literals[index];
      return output;
    }

    这两种写法效果是一样的。因为相邻的变量中间有空字符串,所以变量的长度比字符串的长度少一。

    “标签模板”的一个重要应用,就是过滤HTML字符串,防止用户输入恶意内容。通过过滤可以将字符串转码:

    function SaferHTML(templateData) {
      let s = templateData[0];
      for (let i = 1; i < arguments.length; i++) {
        let arg = String(arguments[i]);
    
        // 在替换中转义特殊字符
        s += arg.replace(/&/g, "&amp;")
                .replace(/</g, "&lt;")
                .replace(/>/g, "&gt;");
    
        // 不转义模板中的字符
        s += templateData[i];
      }
      return s;
    }
    
    var sender = '<script>alert("abc")</script>'; // 恶意代码
    var message = SaferHTML`<p>${sender} has sent you a message.</p>`;
    
    log(message)   //  <p>&lt;script&gt;alert("abc")&lt;/script&gt; has sent you a message.</p>
    

    注1: row 属性指向一个数组,数组中保存的成员和传入的参数中的string一致,举个栗子:

    tag`First line\nSecond line`
    
    function tag(strings) {
      console.log(strings.raw[0]);
      // strings.raw[0] 为 "First line\\nSecond line"
      // 打印输出 "First line\nSecond line"
    }

    这里会将\n 转义,为了方便取得转义前的原始模板而设计的。

    展开全文
  • ZEBRA 系列打印机重新配置标签模板 设备型号:Qln220、LP2824、ZD410 故障现象:打印标签显示不全。
  • 华为标签模板

    2013-12-02 11:08:34
    标签打印模板
  • 档案盒正面标签模板

    2011-11-28 09:57:47
    档案盒正面标签模板,只需更改内容即可打印!
  • 离子标签 我自己的离子标签模板
  • 网络标签打印模板,供应商模板标签打印,包含插件,直接使用。
  • 标签模板下载

    2015-03-08 16:26:19
    卡通模板 直接更改黑色区域即可使用
  • 云南省2014年中国移动2.0规范标签模板.
  • ES6 标签模板字面量

    千次阅读 2020-01-12 15:46:38
    最近在读《你不知道的js》下册,看到了关于标签模板字面量的内容,之前没遇见过,所以不懂就要写博客记录下来啊~ 基础示例 function foo(strings,...values){ console.log(strings) console.log(values) } ...

    前言

    最近在读《你不知道的js》下册,看到了关于标签模板字面量的内容,之前没遇见过,所以不懂就要写博客记录下来啊~

    基础示例

    function foo(strings,...values){
    	console.log(strings)
    	console.log(values)
    }
    const desc='awesome'
    foo`Everything is ${desc}!]`;
    // ["Everything is ","!"]
    // ["awesome"]
    

    foo函数中strings是一个由所有普通字符串(插入表达式之间的部分)组成的数组。使用...gather/rest运算符,把所有参数值都收集到values中。

    换一种说法也就是,values中的值是分隔符,就好像用它们连接了strings中的值,然后把他们都连接在一起,就得到了一个完整的字符串。

    应用

    上面的基础示例不能展现标签模板字面量的强大之处。一般情况,字符串字面量标签函数(上个示例中的foo)要计算出一个字符串并将其返回。

    把目标字符串中的数值格式化为美元

    function format(strings,...values){
        return strings.reduce((s,v,idx)=>{
            if(idx>0){
                const prev=values[idx-1]
                if(typeof prev==='number'){
                    s+=`$${prev.toFixed(2)}`
                }else{
                    s+=prev
                }
            }
            return s+v
        },'')
    
    }
    
    const item='orange'
    const price=3.5554
    
    const text=format`the ${item}'s price is ${price}`
    console.log(text)
    // the orange's price is $3.56
    

    过滤HTML字符串,防止用户输入恶意内容

    大部分的网站都提供有评论模块以供用户发表自己的观点,一般防止用户恶意输入,如<script>alert('恶意代码')</script>,都会把<替换为&lt;;把>替换为&gt;

    function filterSpitefulCode(strings,...values){
       return strings.reduce((s,v,idx)=>{
           if(idx>0){
               const prev=values[idx-1].replace(/</g,"&lt;")
               .replace(/>/g,"&gt;")
               s+=prev
           }
           return s+v
       },'')
    }
    
    const badCode= '<script>alert("abc")</script>'
    const message=filterSpitefulCode`<p>${badCode} has been transformed safely~`
    
    console.log(message)
    // <p>&lt;script&gt;alert("abc")&lt;/script&gt; has been transformed safely~
    

    原始字符串

    在上面的代码中,标签函数接受第一个名为strings的参数,这是一个数组,也包括了一些额外的数据:所有字符串的原始未处理版本。可以像下面通过.raw属性访问这些原始字符串:

    function showraw(strings,...values){
        console.log(strings.raw)
    }
    
    showraw`Hello\nWorld`
    // ["Hello\nWorld"]
    console.log(`Hello\nWorld`)
    // Hello
    // World
    

    原始版本的值保留了原始的转义码\n序列,而处理过的版本把它当作是一个单独的换行符。

    参考链接

    1. ES6 标签模板
    展开全文
  • 当模板字符串作为标签模板使用时,标签函数接受到的参数分别为(arr,…values) arr:模板字符串中所有那些没有变量替换的部分 …values:各个变量替换后的值 即let a = 'Oh!'; let b = 'the'; let c = 'very much!'...
  • 寺冈电子称标签模板

    2014-10-13 00:12:32
    寺冈电子称标签格式模板,多个格式
  • 华为设备标签模板.xls

    2019-09-02 18:12:40
    1、在需要打印标签时,在打印表格中A1-A210中填写标签A面,B1-B210填写标签B面,每种标签自动打印1张,可以每次最多可填写7张*30个=210张标签。 2、每次打印能放7张标签纸。可以自动送纸。 3, 在打印标签时,如果需要...
  • 标签模板A4纸

    2017-08-31 14:13:06
    A4打印模板,P型刀型打印模板,华为专用,标签纸打印,不要改设置,Excel格式文件 按要求填写,每张A4纸打印30张
  • 圆点标签模板.zip

    2015-07-24 11:45:04
    excel打印圆点标签模板,方便打印不干胶标签什么的
  • 用过几个标注工具,但生成的label文件和自己的程序的数据读取有点偏差,处理方法无外乎改读取程序,或者写个脚本转换生成label文件的格式,总之太不方便,所以就想做一个可以自定义标签模板的标注工具 Display 一...
  • 暗蓝色和米黄色两套颜色方案标签ppt模板
  • Concept编程的Modicon Quantum的时间标签模板140ERT85410的参考手册-98-EN.pdf,Concept编程的Modicon Quantum的时间标签模板140ERT85410的参考手册-98-EN.
  • 帝国Cms列表页和内容页调用栏目名称与链接标签的说明(列表与标签模板) [!–this.classname–]、[!–this.classlink–]是list.var里有效 至于更多链接是:[!–the.classname–]、[!–the.classurl–](也就是“页面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 281,287
精华内容 112,514
关键字:

标签模板