字节跳动小程序笔记小结

字节跳动小程序note

缘由

公司想要开发今日头条小程序,争取站在风口上

官方文档

介绍

目录结构

大体跟小程序一致

小程序主体由3个单文件组成

文件必填作用
app.js小程序入口逻辑
app.json小程序全局设置
app.ttss小程序公共样式

一个小程序页面由下面4个文件组成:

文件必填作用
js页面逻辑
json页面配置
ttss页面样式
ttml页面结构

逻辑层

启动程序

App(params) 是框架启动小程序的入口函数,需要开发者可以通过App(params)的参数指定小程序的生命周期函数和其他一些自定义参数。

let app = getApp() 获取App实例

启动页面

page(params) 是进入某个页面的时候会执行的页面入口函数,params是一个object类型的参数,定义了页面初始数据,生命周期钩子函数,事件处理函数等。

页面路由

框架以栈的形式维护了当前的所有页面。

  • 跳转标签 <navigator url="跳转地址" open-type="跳转方式"></navigator>
  • 方法跳转
    • tt.navigateTo({url: ''})
    • tt.redirectTo({url: ''})
    • tt.switchTab({url: ''})
    • tt.reLaunch()
文件作用域

在 JavaScript 文件中声明的变量和函数只在该文件中有效;不同的文件中可以声明相同名字的变量和函数,不会互相影响。

模块化

可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。

需要注意的是:

  • exportsmodule.exports 的一个引用,因此在模块里边随意更改 exports 的指向会造成未知的错误。所以更推荐开发者采用 module.exports 来暴露模块接口,除非你已经清晰知道这两者的关系。
  • 小程序目前不支持直接引入 node_modules , 开发者需要使用到 node_modules 时候建议拷贝出相关的代码到小程序的目录中。

视图层

TTML
  • 数据绑定 {{}}

  • 列表渲染 tt:for index item

  • 条件渲染 tt:if

  • 模板

    <template name="tplName"> <view></view></template>

    • 有自己的作用域,只能使用data传入的数据
  • 事件

    <view bindtap="add">{{count}}</view>
    Page({
        data: {
            count: 1
        },
        add: function(e) {
            this.setData({
                count: this.data.count + 1
            })
        }
    })
    

自定义组件


后续更新笔记

Mon 26 Mon 03 已完成 进行中 计划一 计划二 任务 字节跳动小程序学习笔记
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值