美文网首页
框架视图层(三)

框架视图层(三)

作者: ca8f642ca29e | 来源:发表于2018-01-23 15:41 被阅读0次

    wxs

    概览

    • 仿js功能
    • 页面渲染
    <!--wxml-->
    <wxs module="m1">
    var msg = "hello world";
    
    module.exports.message = msg;
    </wxs>
    
    <view> {{m1.message}} </view>
    输出
    hello world
    
    • 数据处理

    wxs模块、

    .wxs/<wxs>都是单一的模块,有自己的作用域,外部访问需要module.exports
    
    • .wxs文件
    // /pages/comm.wxs
    
    var foo = "'hello world' from comm.wxs";
    var bar = function(d) {
      return d;
    }
    module.exports = {
      foo: foo,
      bar: bar
    };
    
    • module 对象
      • 每个wxs都有内置的module对象
      • 通过exports,与外部共享函数内部成员
    // /pages/tools.wxs
    
    var foo = "'hello world' from tools.wxs";
    var bar = function (d) {
      return d;
    }
    module.exports = {
      FOO: foo,
      bar: bar,
    };
    module.exports.msg = "some msg";
    <!-- page/index/index.wxml -->
    
    <wxs src="./../tools.wxs" module="tools" />
    <view> {{tools.msg}} </view>
    <view> {{tools.bar(tools.FOO)}} </view>
    输出:some msg
    'hello world' from tools.wxs
    
    • require函数
      • 在.wxs模块中引用其他 wxs 文件模块,可以使用 require 函数
      • 只能引用 .wxs 文件模块,且必须使用相对路径。
      • wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。
      • 如果一个 wxs 模块在定义之后,一直没有被引用,则该模块不会被解析与运行。
    // /pages/tools.wxs
    
    var foo = "'hello world' from tools.wxs";
    var bar = function (d) {
      return d;
    }
    module.exports = {
      FOO: foo,
      bar: bar,
    };
    module.exports.msg = "some msg";
    // /pages/logic.wxs
    
    var tools = require("./tools.wxs");
    
    console.log(tools.FOO);
    console.log(tools.bar("logic.wxs"));
    console.log(tools.msg);
    <!-- /page/index/index.wxml -->
    
    <wxs src="./../logic.wxs" module="logic" />
    
    输出:'hello world' from tools.wxs
    logic.wxs
    some msg
    
    • <wxs>标签

      • module 模块名
      • src 引用的wxs文件,此时标签为单闭合标签或者标签内部无内容
    • module属性

      • 命名方式类php变量声明规则
    <!--wxml-->
    
    <wxs module="foo">
    var some_msg = "hello world";
    module.exports = {
        msg : some_msg,
    }
    </wxs>
    <view> {{foo.msg}} </view>
    
    • src属性
      • src 属性可以用来引用其他的 wxs 文件模块。
      • 只能引用 .wxs 文件模块,且必须使用相对路径。
      • 只需载入一次
      • 无引用则不解析
    // /pages/index/index.js
    
    Page({
      data: {
        msg: "'hello wrold' from js",
      }
    })
    <!-- /pages/index/index.wxml -->
    
    <wxs src="./../comm.wxs" module="some_comms"></wxs>
    <!-- 也可以直接使用单标签闭合的写法
    <wxs src="./../comm.wxs" module="some_comms" />
    -->
    
    <!-- 调用 some_comms 模块里面的 bar 函数,且参数为 some_comms 模块里面的 foo -->
    <view> {{some_comms.bar(some_comms.foo)}} </view>
    <!-- 调用 some_comms 模块里面的 bar 函数,且参数为 page/index/index.js 里面的 msg -->
    <view> {{some_comms.bar(msg)}} </view>
    

    变量

    注释

    运算符

    • 基本运算符 (赋值,算术)
    var a = 10, b = 20;
    
    // 加法运算
    console.log(30 === a + b);
    // 减法运算
    console.log(-10 === a - b);
    // 乘法运算
    console.log(200 === a * b);
    // 除法运算
    console.log(0.5 === a / b);
    // 取余运算
    console.log(10 === a % b);
    加法运算(+)也可以用作字符串的拼接。
    var a = '.w' , b = 'xs';
    
    // 字符串拼接
    console.log('.wxs' === a + b);
    
    • 一元运算符
    var a = 10, b = 20;
    
    // 自增运算
    console.log(10 === a++);
    console.log(12 === ++a);
    // 自减运算
    console.log(12 === a--);
    console.log(10 === --a);
    // 正值运算
    console.log(10 === +a);
    // 负值运算
    console.log(0-10 === -a);
    // 否运算
    console.log(-11 === ~a);
    // 取反运算
    console.log(false === !a);
    // delete 运算
    console.log(true === delete a.fake);
    // void 运算
    console.log(undefined === void a);
    // typeof 运算
    console.log("number" === typeof a);
    
    • 位运算符
    var a = 10, b = 20;
    
    // 左移运算
    console.log(80 === (a << 3));
    // 无符号右移运算
    console.log(2 === (a >> 2));
    // 带符号右移运算
    console.log(2 === (a >>> 2));
    // 与运算
    console.log(2 === (a & 3));
    // 异或运算
    console.log(9 === (a ^ 3));
    // 或运算
    console.log(11 === (a | 3));
    
    • 比较运算符
    var a = 10, b = 20;
    
    // 小于
    console.log(true === (a < b));
    // 大于
    console.log(false === (a > b));
    // 小于等于
    console.log(true === (a <= b));
    // 大于等于
    console.log(false === (a >= b));
    
    • 等值运算符
    var a = 10, b = 20;
    
    // 等号
    console.log(false === (a == b));
    // 非等号
    console.log(true === (a != b));
    // 全等号
    console.log(false === (a === b));
    // 非全等号
    console.log(true === (a !== b));
    
    • 赋值运算符
    var a = 10;
    
    a = 10; a *= 10;
    console.log(100 === a);
    a = 10; a /= 5;
    console.log(2 === a);
    a = 10; a %= 7;
    console.log(3 === a);
    a = 10; a += 5;
    console.log(15 === a);
    a = 10; a -= 11;
    console.log(-1 === a);
    a = 10; a <<= 10;
    console.log(10240 === a);
    a = 10; a >>= 2;
    console.log(2 === a);
    a = 10; a >>>= 2;
    console.log(2 === a);
    a = 10; a &= 3;
    console.log(2 === a);
    a = 10; a ^= 3;
    console.log(9 === a);
    a = 10; a |= 3;
    console.log(11 === a);
    
    • 二元逻辑运算符
    var a = 10, b = 20;
    
    // 逻辑与
    console.log(20 === (a && b));
    // 逻辑或
    console.log(10 === (a || b));
    
    • 其余
    var a = 10, b = 20;
    
    //条件运算符
    console.log(20 === (a >= 10 ? a + 10 : b + 10));
    //逗号运算符,出现逗号只取最后一个变量
    console.log(20 === (a, b));
    

    语句

    数据类型(属性与方法参考ES5)

    • 概览
      • number : 数值
      • string : 字符串
      • boolean: 布尔值
      • object: 对象
      • function: 函数
      • array: 数组
      • date: 日期
      • regexp: 正则

    基础类库(属性与方法参考ES5)

    • Math
    • JSON
    • Number
    • Date
    • Global

    相关文章

      网友评论

          本文标题:框架视图层(三)

          本文链接:https://www.haomeiwen.com/subject/fzqsaxtx.html