zoukankan      html  css  js  c++  java
  • jade变量声明和数据传递

    声明一个变量
    - var course = 'jade';
    取得一个变量
    #{course}
    大括号里面写入变量命,前面加个#号就可以取得变量
    在括号里面可以进行诸多都运行操作,比如大小写
    #{course.toUpperCase()}
    title #{course.toUpperCase()} study
    =>
    <title>JADE study</title>
     
    现在是把变量声明到页面里面,但正常开发的时候我们一般是把后台拿到的数据通过变量的方式传递给这个模板,在模板里面很少直接去定义一个固定的值,除非是为了一些值的类型转换,本地化,或者逻辑上的方便使用,从外面传,我们先搞最粗暴的方式,
     
    从命令行传
    jade index.jade -P -w --obj '{"course":"jade"}'
    后面跟着一个--obj,再后面跟这个obj的,然后在文档里面直接使用
    title #{course.toUpperCase()} study
    =>
    <title>JADE study</title>
    这样,前面的变量不声明,这样的效果是跟前面一模一样的
    这里就会有一个问题,我如果从命令行里面传入一个变量,我又在文档里面声明了一个变量,他两如果是同名的话,那到底喧嚷的是哪个值呢
    命令行是这样
    jade index.jade -P -w --obj '{"course":"jade1"}'
    文档是这样
    - var course = 'jade2'
    title #{course.toUpperCase()} study
    最后得到的值是这样
    <title>JADE2 study</title>
    说明优先读取文档里面的值



    json文件的方式
    index.json
    {
      "course":"jade"
    }

    命令行里面改一下

    jade index.jade -P -w -O index.json
    得到的值
    <title>JADE study</title>
    看到后面得到的值是正确的
    为什么要创建json文件呢,如果说要传的变量很多,那命令行这种方式就显得比较笨拙
  • 相关阅读:
    笨方法学python中执行argv提示ValueError: not enough values to unpack (expected 4, got 1)
    VMware workstation安装
    Redis bigkey分析
    MySQL drop table 影响及过程
    MySQL 大表硬连接删除
    ES elasticsearch 各种查询
    ES elasticsearch 各种聚合
    ES elasticsearch 聚合统计
    ES elasticsearch 实现 count单字段,分组取前多少位,以地理位置中心进行统计
    MySQL行溢出、varchar最多能存多少字符
  • 原文地址:https://www.cnblogs.com/wzndkj/p/9261471.html
Copyright © 2011-2022 走看看