zoukankan      html  css  js  c++  java
  • node.js学习笔记13—express视图

    1.片段视图(partial)

    express的视图系统支持 片段视图(partials),它就是一个页面的片段,通常是重复的内容,用于迭代显示。

    通常用partials,可以将相对独立的页面块分割出去,而且可以避免显示地使用for循环。

    eg:

    在app.js新增:

    app.get('/list', function(req, res) {
         res.render('list', {
         title : "List",
         items:[ 1991, 'miao', 'express' , 'Node.js']
        });  
    });
    

    在views目录下新建list.ejs,内容是:

    <ul><%- partial('listitem' , items) %></ul>
    

    同时新建listitem.ejs,内容是:

    <li><%= listitem %></li>
    

    最后的在页面中看到的源代码是:

    <ul>
        <li>1991</li>
        <li>miao</li>
        <li>express</li>
        <li>Node.js</li>
    </ul>
    

    partial是一个可以在视图中使用函数,它接受两个参数,

    第一个是片段视图的名称;

    第二个数据,数据的类型可以是一个对象或一个数组。如果是一个对象,那么片段视图中上下文变量引用的就是这个对象。

    如果是一个数组,那么其中每个元素依次被迭代应用到片段视图,片段视图中上下文变量名就是视图文件名,例如上面的“listitem” 

    2.视图助手

    express提供一种叫做视图助手的工具,功能是允许在视图中访问一个全局的函数或对象,不用每次调用试图解析的时候单独传入。  

    partial就是一个视图助手。

    视图有两类,分别是静态视图助手和动态视图助手。两者区别是:

    静态视图助手可以是任何类型的对象,包括接受任意参数的函数,但访问道的对象必须是与用户请求无关的;

    而动态视图助手只能是一个函数,这个函数不能接受参数,但可以访问req和res对象

    3.总结

    视图助手本质其实就是给所有视图注册了全局变量,因此无需每次在调用模板引擎时,传递数据对象。在网站开发是,使用session会话时,会发现其价值。  

      

  • 相关阅读:
    Hard Rock
    Codeforces Round #416 (Div. 2) B. Vladik and Complicated Book
    codeforces 793B. Igor and his way to work
    codeforces 1B Spreadsheets
    HDU 1069 Monkey and Banana
    codeforces 2B The least round way
    【机器学习】 通俗说拟合
    python-八皇后问题
    python-核心知识思维导图
    python-@property 属性
  • 原文地址:https://www.cnblogs.com/shixiaomiao/p/4974873.html
Copyright © 2011-2022 走看看