如何为scratch3.0创建一个独立的页面或窗体
很多人都利用GIT上的scratch3.0做开发,但是苦于有些定制需要个性化开发但是不知道如何动手。本篇文章来做好普及工作吧。
首先需要完成事项如下:
1.需要进行modal定义
2.新增窗口的UI界面
3.新增窗口逻辑页面
4.GUI的UI页面注册
5.gui逻辑页面注册
6.顶部菜单新增接口
下面我们就一步不来模拟,例如,我需要开发一个论坛功能。
第一步,modal定义
1.打开reducers/modals.js文件,修改如下:
1)找到约16行,新增以下代码
const MODAL_BBS = 'bbs';
2.)找到约30行,新增如下代码
· [MODAL_BBS]: false
3)找到约96行,新增如下代码
const openbbs = function () {
return openModal(MODAL_bbs);
}
const closebbs = function () {
return closeModal(MODAL_bbs);
};
4)找到末尾倒数第二行,新增代码
2)components/bbs/bbs.css
第三步,新增窗体的逻辑页面,详见附件
containers/bbs.jsx
第四步,gui 的UI页面注册
找到compents/gui/gui.jsx
1)找到第27行,新增代码
第五步,GUI逻辑页面注册
打开containers/gui.jsx在153行,也就是在const mapStateToProps = state => {中新增
bbsVisible: state.scratchGui.modals.bbs,
第六步,在菜单中新增论坛菜单
找到compents/menu-bar/menu-bar。jsx
1)找到33行,找到import {openTipsLibrary} from '../../reducers/modals';
更改为import {openTipsLibrary,openbbs} from '../../reducers/modals';
2)找到倒数第9行,也就是mapDispatchToProps = dispatch => ({方法内,新增(注意标点符号)
onOpenbbs: () =>dispatch(openbbs())
3)找到479行新增
--------------------------------------------------------------------
博主:雷君(微软MVP,众聚互联CEO)
长期致力于企业IT服务,以及青少年编程培训课程
培训机构讨论热线:18859773999
--------------------------------------------------------------------
如何为scratch3.0创建一个独立的页面或窗体的更多相关文章
- swift3.0 创建一个app引导页面
swift毕竟不像是oc ,第三方的框架很多,更何况是3.0,自己动手写了个引导页面,看得上我代码的麻友可以拿去用 引导页面有三个部分构成,scrollview用语切换引导视图,pageControl ...
- django examples 学习笔记(1)创建一个独立的python环境
pip install virtualenv 创建一个虚拟环境 virtualenv my_env 创建一个独立的环境 source my_env/bin/activate 激活 ...
- 【原创】使用.NET Core 1.0创建一个Self-Contained控制台应用
开发机器:win7-x64 .NET Core版本:1.0.0-preview2-003121 Visual Studio Code:1.2.1 至于什么是Self-Contained应用类型以及与P ...
- [翻译] 使用 .NET Core 3.0 创建一个 Windows 服务
原文: .NET Core Workers as Windows Services 在 .NET Core 3.0 中,我们引入了一种名为 Worker Service 的新型应用程序模板.此模板旨在 ...
- angular创建一个独立弹窗服务
1.说明: 这个服务用于创建一个modal(弹窗),通常下,这个弹窗会插入到body的底部,并且拥有自己的作用域($scope),也可以和外界通讯. 2.逻辑: (1).创建模版 (2).拿到模版里要 ...
- 怎样创建一个独立于当前文档的新的Document对象
使用: document.implementation. 如下所示, 新创建的Document对象可以正常使用相关属性和方法, 然后将它的根节点与当前文档的根节点做一个替换. var doc = do ...
- react用脚手架创建一个react单页面项目,react起手式
官网地址:https://react.docschina.org/ 确保本地安装了Node.js node的版本大于8.10 npm的版本大于5.6 1.在本地的某个位置创建一个文件夹,执行以下 ...
- 001_创建一个sidebar切换页面
Table Of Content 准备 基本思路 实现 我们期望实现这样的效果: : PS:上图使用的软件为webStorm 3. 此时一个简单的re ...
随机推荐
- Python网络爬虫神器PyQuery的使用方法
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests from pyquery import PyQuery as pq url ...
- 【Activiti学习之三】Activiti API(二)
环境 JDK 1.8 MySQL 5.6 Tomcat 7 Eclipse-Luna activiti 6.0 一.流程定义1.中止与激活流程定义 package com.wjy.pd; import ...
- ASP.NET Core Windows服务开发技术实战演练
一.课程介绍 人生苦短,我用.NET Core!大家都知道如果想要程序一直运行在Windows服务器上,最好是把程序写成Windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需 ...
- C# 使用CefSharp嵌入网站
最近有一个项目,需要在winform中嵌套web网站,从网上了解到几个相关的组件有winform自带的IE内核的WebBrowser,有第三方组件谷歌内核的webkit.cefsharp.chromi ...
- Java8 新特性 默认方法
默认方法为什么出现 默认方法的出现是因为在java8设计的过程中,因为加入了Lamdba表达式,和函数式接口,所以在非常多的接口里面要加入新的方法,但是如果在接口里面直接加入新的方法,那么以前写的所有 ...
- Sitecore 9 您应该了解的所有新功能和变化
信不信由你,当我谈论Sitecore时,我感到非常兴奋.这是一个充满潜力和机遇的伟大平台 如果你能想象一个刚刚进行过一次双重训练的人,一个特大号的星巴克,并且刚刚在创纪录的时间内完成了中国忍者勇士的障 ...
- Oulipo 子串查找
题目描述 思路 使用哈希值表示较长串的子串的值,直接比较哈希值是否相等 代码 #include <cstdio> #include <cstring> using namesp ...
- 干货|Dubbo社区开发者日经验分享
Hello,各位小伙伴大家好,我是小栈君,昨天也就是2019年10月26日,有幸在成都参加了由阿里举办的"Dubbo社区开发者日". 本次活动汇聚了各方面的大神欢聚一堂,主要是对现 ...
- Angular的Observable可观察对象(转)
原文:https://blog.csdn.net/qq_34414916/article/details/85194098 Observable 在开始讲服务之前,我们先来看一下一个新东西——Obse ...
- 『数 变进制状压dp』
数 Description 给定正整数n,m,问有多少个正整数满足: (1) 不含前导0: (2) 是m的倍数: (3) 可以通过重排列各个数位得到n. \(n\leq10^{20},m\leq100 ...