⚠️实例均结合node,也就是AMD规范版本

ejs中使用render()表示渲染文本

接收三个参数:模版字符串、data、options,返回一个字符串

  1. const ejs = require('ejs');
  2.  
  3. ejs.delimiter = '$';
  4.  
  5. var html = ejs.render(`
  6. <$ for(var i=; i<num; i++ ) { -$>
  7. <h2><$= user.name $>
  8. </h2><h2><$= user.age $></h2>
  9. <$ } -$>`
  10. ,{
  11. user:{
  12. name:"wangkun",
  13. age:,
  14. },
  15. num:
  16. },{rmWhitespace:true});
  17.  
  18. console.log(html);
  19.  
  20. // 输出:
  21. <h2>wangkun
  22. </h2><h2></h2>
  23. <h2>wangkun
  24. </h2><h2></h2>

ejs中使用renderFile()表示渲染文件

接收四个参数:模版字符串、data、options、callback,没有返回值

  1. const ejs = require('ejs');
  2. ejs.renderFile("./work/lesson12/view/1.ejs",{name:'wangkun'},function(err,data){ // err是错误,data是渲染完的数据
  3. if(err){
  4. console.log("出错了");
  5. }else{
  6. console.log(data);
  7. }
  8. });

ejs中使用<% %>输出脚本

实例一:ejs中的for循环

  1. // 3.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <% for(var i=0; i<json.arr.length; i++) {%>
  12. <div>
  13. 用户名:<%= json.arr[i].user %>
  14. 年龄:<%= json.arr[i].age %>
  15. </div>
  16. <% } %>
  17. </body>
  18. </html>
  19.  
  20. // 3.js内容:
  21. const ejs = require('ejs');
  22.  
  23. ejs.renderFile('./work/lesson14/view/3.ejs',{
  24. json:{
  25. arr:[
  26. {user:"pear",age:"12"},
  27. {user:"apple",age:"13"},
  28. {user:"banana",age:"14"},
  29. {user:"orange",age:"15"}
  30. ]
  31. }
  32. },function(err,data){
  33. console.log(data);
  34. });
  35.  
  36. // 输出:
  37.  
  38. <!DOCTYPE html>
  39. <html lang="en">
  40. <head>
  41. <meta charset="UTF-8">
  42. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  43. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  44. <title>Document</title>
  45. </head>
  46. <body>
  47.  
  48. <div>
  49. 用户名:pear
  50. 年龄:12
  51. </div>
  52.  
  53. <div>
  54. 用户名:apple
  55. 年龄:13
  56. </div>
  57.  
  58. <div>
  59. 用户名:banana
  60. 年龄:14
  61. </div>
  62.  
  63. <div>
  64. 用户名:orange
  65. 年龄:15
  66. </div>
  67.  
  68. </body>
  69. </html>

⚠️ 所有使用 <% %> 括起来的内容都会被编译成 Javascript,你可以在模版文件中像写 js 一样 Coding,也允许你声明变量,作用域就是当前模版,因为一个模版会被编译成一个 Javascript 函数

ejs中使用<%= %>转义输出

实例一:

  1. // 1.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. 我的名字:<%= name %> // 表示赋值
      <%= 12+5 %>
      <%= 'asdfasdf' %>
  12. </body>
  13. </html>
  14.  
  15. // ejs1.js内容:
  16. const ejs = require('ejs');
  17. ejs.renderFile("./work/lesson12/view/1.ejs",{name:'wangkun'},function(err,data){ // err是错误,data是渲染完的数据
  18. if(err){
  19. console.log("出错了");
  20. }else{
  21. console.log(data);
  22. }
  23. });
  24.  
  25. // 输出:
  26. <!DOCTYPE html>
  27. <html lang="en">
  28. <head>
  29. <meta charset="UTF-8">
  30. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  31. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  32. <title>Document</title>
  33. </head>
  34. <body>
  35. 我的名字:wangkun
       17
       asdfasdf
  1. </body>
  2. </html>

实例二:

  1. // 2.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <div>
  12. <%= json.arr[0].user %>
  13. <%= json.arr[0].age %>
  14. <%= json.arr[2].user %>
  15. <%= json.arr[2].age %>
  16. </div>
  17. </body>
  18. </html>
  19.  
  20. // 2.js内容:
  21. const ejs = require('ejs');
  22.  
  23. ejs.renderFile('./work/lesson14/view/2.ejs',{
  24. json:{
  25. arr:[
  26. {user:"pear",age:"12"},
  27. {user:"apple",age:"13"},
  28. {user:"banana",age:"14"},
  29. {user:"orange",age:"15"}
  30. ]
  31. }
  32. },function(err,data){
  33. console.log(data);
  34. });
  35.  
  36. // 输出:
  37. <!DOCTYPE html>
  38. <html lang="en">
  39. <head>
  40. <meta charset="UTF-8">
  41. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  42. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  43. <title>Document</title>
  44. </head>
  45. <body>
  46. <div>
  47. pear
  48. 12
  49. banana
  50. 14
  51. </div>
  52. </body>
  53. </html>

实例三:

  1. // 4.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <%
  12. var str = "<div></div>"
  13. %>
  14.  
  15. <%= str %>
  16. </body>
  17. </html>
  18.  
  19. // 4.js内容:
  20. const ejs = require('ejs');
  21.  
  22. ejs.renderFile('./work/lesson14/view/4.ejs',{},function(err,data){
  23. console.log(data);
  24. });
  25.  
  26. // 输出:
  27. <!DOCTYPE html>
  28. <html lang="en">
  29. <head>
  30. <meta charset="UTF-8">
  31. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  32. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  33. <title>Document</title>
  34. </head>
  35. <body>
  36.  
  37. &lt;div&gt;&lt;/div&gt; // ❗️发现是转义的
  38. </body>
  39. </html>

ejs中使用<%- %>非转义输出

  1. // 4.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <%
  12. var str = "<div></div>"
  13. %>
  14.  
  15. <%- str %>
  16. </body>
  17. </html>
  18.  
  19. // 输出:
  20. <!DOCTYPE html>
  21. <html lang="en">
  22. <head>
  23. <meta charset="UTF-8">
  24. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  25. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  26. <title>Document</title>
  27. </head>
  28. <body>
  29.  
  30. <div></div>
  31. </body>
  32. </html>

ejs中使用<%%  %>输出模版字符串

  1. // 7.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <%% if(user.name) { %>
  12. <%%= user.name %>
  13. <%% } %>
  14. </body>
  15. </html>
  16.  
  17. // 7.js内容:
  18. const ejs = require('ejs');
  19.  
  20. ejs.renderFile('./work/lesson14/view/7.ejs',{
  21. user:{
  22. name:"wangkun",
  23. age:22
  24. }
  25. },(err,data)=>{
  26. if(err) {
  27. console.error(err);
  28. }else {
  29. console.log(data);
  30. }
  31. });
  32.  
  33. // 输出:
  34. <!DOCTYPE html>
  35. <html lang="en">
  36. <head>
  37. <meta charset="UTF-8">
  38. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  39. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  40. <title>Document</title>
  41. </head>
  42. <body>
  43. <% if(user.name) { %>
  44. <%= user.name %>
  45. <% } %>
  46. </body>
  47. </html>

ejs中使用<%_   _%>删除标签前后的空格

情况一:<%_ 和  _%>一起使用

  1. // 9.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <%_ if(user.name) { _%>
  12. <h2><%= user.name _%></h2>
  13. <%_ }else{ _%>
  14. <h2><%= user.age _%></h2>
  15. <%_ } _%>
  16. </body>
  17. </html>
  18.  
  19. // 9.js内容:
  20. const ejs = require('ejs');
  21.  
  22. ejs.renderFile('./work/lesson14/view/9.ejs',{
  23. user:{
  24. name:"wangkun",
  25. age:22
  26. }
  27. },(err,data)=>{
  28. if(err) {
  29. console.error(err);
  30. }else {
  31. console.log(data);
  32. }
  33. });
  34.  
  35. // 输出:
  36. <!DOCTYPE html>
  37. <html lang="en">
  38. <head>
  39. <meta charset="UTF-8">
  40. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  41. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  42. <title>Document</title>
  43. </head>
  44. <body>
  45. <h2>wangkun</h2> // 注意标签前后没有空格
  46. </body>
  47. </html>
  48.  
  49. // 不使用<%_ _%>输出:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <h2>wangkun</h2> // 注意标签有空格
  11. </body>
  12. </html>

情况二:单独使用<%_

  1. // 9.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <%_ if(user.name) { %>
  12. <h2><%= user.name %></h2>
  13. <%_ }else{ %>
  14. <h2><%= user.age %></h2>
  15. <%_ } %>
  16. </body>
  17. </html>
  18.  
  19. // 输出:
  20. <!DOCTYPE html>
  21. <html lang="en">
  22. <head>
  23. <meta charset="UTF-8">
  24. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  25. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  26. <title>Document</title>
  27. </head>
  28. <body>
  29.  
  30. <h2>wangkun</h2> // 注意标签前后空格没有被删除
  31.  
  32. </body>
  33. </html>

情况三:单独使用_%>

  1. // 9.ejs内容;
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <% if(user.name) { _%>
  12. <h2><%= user.name _%></h2>
  13. <% }else{ _%>
  14. <h2><%= user.age _%></h2>
  15. <% } _%>
  16. </body>
  17. </html>
  18.  
  19. // 输出:
  20. <!DOCTYPE html>
  21. <html lang="en">
  22. <head>
  23. <meta charset="UTF-8">
  24. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  25. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  26. <title>Document</title>
  27. </head>
  28. <body>
  29. <h2>wangkun</h2> // 标签前后没有空格,但是样式乱了
  30. </body>
  31. </html>

综合以上三种情况,强烈推荐<%_和_%>一起使用,可以有效删除标签前后空格并且样式不会乱☺️

ejs中使用<%  -%>删除换行符

情况一:

  1. // 10.ejs内容;
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <% for(var i=0; i<num; i++ ) { -%>
  12. <h2><%= user.name %></h2>
  13. <h2><%= user.age %></h2>
  14. <% } -%>
  15. </body>
  16. </html>
  17.  
  18. // 输出
  19. <!DOCTYPE html>
  20. <html lang="en">
  21. <head>
  22. <meta charset="UTF-8">
  23. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  24. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  25. <title>Document</title>
  26. </head>
  27. <body>
  28. <h2>wangkun</h2>
  29. <h2>22</h2>
  30. <h2>wangkun</h2> // 虽然标签前后空格删除了,但样式乱掉了
  31. <h2>22</h2>
  32. </body>
  33. </html>
  34.  
  35. // 不使用-%>输出
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <h2>wangkun</h2>
  11. <h2>22</h2>
  12. <h2>wangkun</h2> // 标签前后有空格
  13. <h2>22</h2>
  14. </body>
  15. </html>

情况二:传配置参数rmWhitespace,这样格式就不会乱掉

  1. // 10.ejs内容:
  2. const ejs = require('ejs');
  3.  
  4. ejs.renderFile('./work/lesson14/view/10.ejs',{
  5. user:{
  6. name:"wangkun",
  7. age:22,
  8. },
  9. num:2
  10. },{rmWhitespace:true},(err,data)=>{
  11. if(err) {
  12. console.error(err);
  13. }else {
  14. console.log(data);
  15. }
  16. });
  17.  
  18. // 输出
  19. <!DOCTYPE html>
  20. <html lang="en">
  21. <head>
  22. <meta charset="UTF-8">
  23. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  24. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  25. <title>Document</title>
  26. </head>
  27. <body>
  28. <h2>wangkun</h2>
  29. <h2>22</h2>
  30. <h2>wangkun</h2>
  31. <h2>22</h2>
  32. </body>
  33. </html>

ejs中使用<%#  %>进行注释没有任何输出

  1. // 8.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <%# if(user.name) { %>
  12. <%= user.name %>
  13. <%# } %>
  14. </body>
  15. </html>
  16.  
  17. // 8.js内容:
  18. const ejs = require('ejs');
  19.  
  20. ejs.renderFile('./work/lesson14/view/8.ejs',{
  21. user:{
  22. name:"wangkun",
  23. age:22
  24. }
  25. },(err,data)=>{
  26. if(err) {
  27. console.error(err);
  28. }else {
  29. console.log(data);
  30. }
  31. });
  32.  
  33. // 输出:
  34. <!DOCTYPE html>
  35. <html lang="en">
  36. <head>
  37. <meta charset="UTF-8">
  38. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  39. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  40. <title>Document</title>
  41. </head>
  42. <body>
  43.  
  44. wangkun
  45.  
  46. </body>
  47. </html>

ejs中使用include引入内容

通过 include 指令将相对于模板路径中的模板片段包含进来。(需要提供 'filename' 参数。) 例如,如果存在 "./views/users.ejs" 和 "./views/user/show.ejs" 两个模板文件,你可以通过 <%- 

include('user/show'); %> 代码包含后者。你可能需要能够输出原始内容的标签 (<%-) 用于 include 指令,避免对输出的 HTML 代码做转义处理。

  1. <ul>
  2. <% users.forEach(function(user){ %>
  3. <%- include('user/show', {user: user}); %>
  4. <% }); %>
  5. </ul>

情况一:基础,引入文本文件

  1. // 5.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <% include a.txt %>
  12. </body>
  13. </html>
  14.  
  15. // a.txt内容:
  16. jidhhdka
  17. kidutyui
  18. iiiiisnhakjdhgagd
  19.  
  20. // 5.js内容:
  21. const ejs = require('ejs');
  22.  
  23. ejs.renderFile('./work/lesson14/view/5.ejs',{},function(err,data){
  24. console.log(data);
  25. });
  26.  
  27. // 输出:
  28. <!DOCTYPE html>
  29. <html lang="en">
  30. <head>
  31. <meta charset="UTF-8">
  32. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  33. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  34. <title>Document</title>
  35. </head>
  36. <body>
  37. jidhhdka
  38. kidutyui
  39. iiiiisnhakjdhgagd
  40. </body>
  41. </html>

情况二:配合循环一起使用

  1. // 6.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <% for(var i=0; i<5; i++) { %>
  12. <% include a.txt %>
  13. <% } %>
  14. </body>
  15. </html>
  16.  
  17. // 输出
  18. <!DOCTYPE html>
  19. <html lang="en">
  20. <head>
  21. <meta charset="UTF-8">
  22. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  23. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  24. <title>Document</title>
  25. </head>
  26. <body>
  27.  
  28. jidhhdka
  29. kidutyui
  30. iiiiisnhakjdhgagd
  31.  
  32. jidhhdka
  33. kidutyui
  34. iiiiisnhakjdhgagd
  35.  
  36. jidhhdka
  37. kidutyui
  38. iiiiisnhakjdhgagd
  39.  
  40. jidhhdka
  41. kidutyui
  42. iiiiisnhakjdhgagd
  43.  
  44. jidhhdka
  45. kidutyui
  46. iiiiisnhakjdhgagd
  47.  
  48. </body>
  49. </html>

情况三:引入css文件

  1. // 7.ejs内容:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. <!-- 通过type判断引入谁 -->
  12. <% if(type == 'admin') { %>
  13. <% include admin.css %>
  14. <% }else {%>
  15. <% include user.css %>
  16. <% } %>
  17. </body>
  18. </html>
  19.  
  20. // admin.css内容:
  21. div{
  22. width: 800px;
  23. }
  24.  
  25. // user.css内容:
  26. div{
  27. width: 800px;
  28. }

注意:

1、include因为不是js中的语法,所以要单独占据一行

2、include后面不能是变量

3、Include 可以引用相对路径的模版文件,例如有 html/index.html 和 html/_block/head.html这两个文件, 你就可以在 index.html 这么用 <% include _block/head.html %>。

4、如果我们引入的是一个文本那么可以使用<% %>,但是如果是ejs或html为了防止将引入的html转义,我们要使用<%- %>

 

EJS学习(三)之语法规则中的更多相关文章

  1. php学习一:语法规则

    1.书写规则 在html中嵌入php的时候,需要有结束语,即<?php ...?>,在靠近结束符号的最后一个语句可以不用写分号: 但是在单独的php中,最后可以不用以?>来结尾; 2 ...

  2. oracle学习 三(持续更新中)

    关于ora 01219问题的解决 之前学习oracle的时候练习去建立表空间,建了很多之后手动删除了,之后再使用自己创建的用户名登陆数据库就会造成数据库 ORA-01031: ORACLE initi ...

  3. 学习h264 的语法规则,如何才能看懂H264 的官方文档

    1. 今天想查h264 的帧率,查找资料如下: 首先要解析sps,得到两个关键的数值: num_units_in_tick, time_scale fps=time_scale/num_units_i ...

  4. JavaWeb学习(三) : 如何在 Eclipse 中创建一个Web 项目并成功运行?

    前置条件 : 1.确保已安装 Eclipse.Tomcat 服务器安装包 2.jdk.环境变量都已配置成功. 3.注意在安装 Eclipse 时一定要选择第二个有 Web 项目的进行安装, 不然安装成 ...

  5. 【 MAKEFILE 编程基础之二】MAKEFILE 书写规划以及语法规则!

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/768.html   ...

  6. SCARA——OpenGL入门学习三

    OpenGL入门学习[三] 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用 ...

  7. Jade学习(三)之语法规则下

    jade可以自动识别单双标签 // 1.jade内容: input(type="button", value="点击") div // 此时输出❌error:i ...

  8. Python学习系列(四)Python 入门语法规则2

    Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, ...

  9. Vue基础系列(三)——Vue模板中的数据绑定语法

    写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...

随机推荐

  1. Java多线程-线程中止

    不正确的线程中止-Stop Stop:中止线程,并且清除监控器锁的信息,但是可能导致 线程安全问题,JDK不建议用. Destroy: JDK未实现该方法. /** * @author simon * ...

  2. TCP输出 之 tcp_write_xmit

    概述 tcp_write_xmit函数完成对待发送数据的分段发送,过程中会遍历发送队列,进行窗口检查,需要TSO分段则分段,然后调用tcp_transmit_skb发送数据段: 源码分析 static ...

  3. koa 基础(六)应用级路由中间件

    1.应用级路由中间件 app.js /** * 应用级路由中间件 */ // 引入模块 const Koa = require('koa'); const router = require('koa- ...

  4. android data binding jetpack VI 清理一些概念。BR 运算表达式

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  5. glance-----常用命令

    #查看镜像 openstack image list glance image-list #镜像导出 openstack image save <image_id> --file < ...

  6. Enetity Framework 加载关联数据后,循环问题

    通过ef查询关联数据后,出现无限循环情况,在实体中将属性加上[Newtonsoft.Json.JsonIgnore] . [IgnoreDataMember]  就ok了. 我是查询后,用json转换 ...

  7. adb shell am start -W查看APP启动时间(优化冷启动)

    ThisTime:最后一个启动的Activity的启动耗时: TotalTime:自己的所有Activity的启动耗时: WaitTime::ActivityManagerService启动App的A ...

  8. WPF Slider Tickbar 中显示数值

    class CustomTickBar : TickBar { protected override void OnRender(System.Windows.Media.DrawingContext ...

  9. flask 学习(二)

    安装了flask扩展 以及flask-bootstrap 默认情况下,flask在template文件夹寻找模板. flask 加载的是Jinja2模板,该模板引擎在flask中由函数render_t ...

  10. 【TypeScript】学习笔记 把一些需要记的记录一下

    安装typescript: npm install -g typescript 启动typesctipt自动编译: tsc 文件名.ts --watch 函数参数默认值: 1.有默认值参数的,声明在最 ...