Web客户端开发
Web开发工具
从高层次来看,可以将客户端工具放入以下三大类需要解决的问题中:
- 安全网络 — 在代码开发期间有用的工具。
- 转换 — 以某种方式转换代码的工具,例如将一种中间语言转换为浏览器可以理解的 JavaScript。
- 开发后阶段 — 编写完代码后有用的工具,如测试和部署工具。
终端命令
- 导航计算机的文件系统以及基本级别的任务,如创建、复制、重命名和删除:
- 移动您的目录结构 :
cd - 建立目录:
mkdir - 创建文件(修改他们的原数据):
touch - 复制文件:
cp - 移动文件:
mv - 删除文件或目录:
rm
- 移动您的目录结构 :
- 下载在特定的 url 找到的文件:
curl - 在较大的文件体中寻找特定的片段:
grep - 主页查看文件的内容:
less,cat - 操作和转换文本流(例如,讲 HTML 文件中
的所有实例改为
): awk,tr,sed
一个非常有用的终端快捷方式是使用tab 键自动完成你知道的名字,而不是必须键入整个东西。例如,在键入以上两个命令后,尝试键入 cd D 并按下tab — 它应该自动完成目录名称 Desktop 对于您,只要它存在于当前目录中。在你前进的过程中记住这一点。
JSX
JSX,意为 JavaScript 和 XML, 是 JavaScript 的扩展,为 JavaScript 带来了类似 HTML 的语法。它由 React 团队发明,用于 React 应用程序,但也可用于开发其他应用程序——例如 Vue 应用程序。
const subject = "World";
const header = (
<header>
<h1>Hello, {subject}!</h1>
</header>
);
vue jsx
import myComponent from './myComponent'
import './HelloWorld.css'
// 创建一个组件button
const ButtonCounter = {
name: "button-counter",
props: ["count"],
methods: {
onClick() {
this.$emit("change", this.count + 1);
}
},
render() {
return (
<button onClick={this.onClick}>数量 {this.count}+</button>
);
}
};
export default {
name: 'HelloWorld',
components: {
myComponent
},
data () {
return {
text:'hello 纸没了飞机',
inputText:'我吃了',
count: 0
}
},
props: {
msg: String
},
watch: {},
methods: {
onChange(val) {
this.count = val;
alert(this.count)
}
},
render() {
// const {text,inputText,count} = this //通过解构,下方return片段中就不需要this
return (
<div>
<h3>内容</h3>
{/* 纯文本 */}
<p>hello, I am Gopal</p>
{/* 动态内容 */}
<p>{ this.text }</p>
<p>hello { this.msg }</p>
{/* 输入框 */}
<input/>
{/* 自定义组件 */}
<myComponent/>
<ButtonCounter
style={{ marginTop: "10px" }}
count={this.count}
type="button"
onChange={this.onChange}
/>
</div>
);
}
}
VUE简单说明
<template> 包含了所有的标记结构和组件的展示逻辑。template 可以包含任何合法的 HTML
组件文件名及其在 JavaScript 中的表示方式总是用大写驼色(例如ToDoList),而等价的自定义元素总是用连字符小写(例如<to-do-list>)。
<script> 包含组件中所有的非显示逻辑,最重要的是, <script> 标签需要默认导出一个 JS 对象。该对象是您在本地注册组件、定义属性、处理本地状态、定义方法等的地方。在构建阶段这个包含 template 模板的对象会被处理和转换成为一个有 render() 函数的 Vue 组件。
props使组件动态化
<template>
<div>
<input type="checkbox" id="todo-item" checked="false" />
<label for="todo-item">{{label}}</label>
</div>
</template>
<script>
export default {
props: {
label: { required: true, type: String },
done: { default: false, type: Boolean }
}
};
</script>
label的值应该是一个带有两个属性的对象(或者是props,因为它们被调用在可找到的组件的 context)- 第一个
required属性,它的值是true. 这将会告诉 Vue 说,我们希望每个该组件的实例都必须有个 label 字段。如果ToDoItem组件没有 label 字段的话,Vue 会提示警告。 - 第二是添加一个
type属性。这个属性的值设为 JavaScript 的String类型。这等于告诉 Vue,我们希望 type 属性的值是 String 类型的。
- 第一个
- 现在转向
doneprop.- 首先添加一个
default属性,它的值是false。这意味着当没有doneprop 被传递给ToDoItem组件时,doneprop 的值会是 false(注意 default 属性不是必需的————我们只在非 required props 里才需要default) - 接着,添加一个
type属性,值为Boolean。这将告诉 Vue,我们希望这个 prop 的值是 JavaScript 的 Boolean 类型。
- 首先添加一个
调用时传递label参数
<to-do-item label="My ToDo Item"></to-do-item>
props 是一种单向数据绑定,组件永远不该改变自己的 props 的值,这点很重要。坚守这点的原因有很多。其一是,组件修改 props 会造成程序调试困难。如果一个值被传递进多个子组件,将很难定位这个值是在哪里被修改的。此外,修改 props 会造成组件重新渲染。所以,一个组件里突变的 props 会触发组件重新渲染,这可能会反过来再次触发 props 突变。
data() {
return {
key: value
}
}
data 属性是一个函数。这是为了在运行时保持组件的每个实例的数据值是唯一的——为每个组件实例单独调用函数。如果将数据声明为仅一个对象,则该组件的所有实例将共享相同的值。这是 Vue 注册组件方式的副作用,也是你不想要的。
Web客户端开发的更多相关文章
- Web前端开发中的MCRV模式(转)
作者: izujian 来源: baiduux 摘要:针对前端开发中基于ajax的复杂页面开发所面临的代码规模大,难以组织和维护,代码复用性.扩展性和适应性差等问题,本文尝试以MVC思想为 基础,结 ...
- iOS客户端开发与Web前端开发
转载自:http://blog.cnbang.net/tech/1813/不知不觉做iOS客户端开发已经半年多了,了解到iOS客户端开发与Web前端开发的一些异同,写一下. 版本升级.用户角度上看,客 ...
- SharePoint Framework 配置你的SharePoint客户端web部件开发环境
博客地址:http://blog.csdn.net/FoxDave 你可以使用Visual Studio或者是你自己的开发环境来构建SharePoint客户端web部件.你可以使用Mac.PC或是 ...
- 用Jersey为Android客户端开发Restful Web Service
平时在做Android客户端的时候经常要与服务器之间通信,客户端通过服务端提供的接口获取数据,然后再展示在客户端的界面上,作为Android开发者,我们平时更多的是关注客户端的开发,而对服务端开发的关 ...
- Java开发之使用websocket实现web客户端与服务器之间的实时通讯
使用websocket实现web客户端与服务器之间的实时通讯.以下是个简单的demo. 前端页面 <%@ page language="java" contentType=& ...
- web前端开发学习内容
应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准 代码能 兼容主流浏览器.ie6.7.8.9 ff 等. ...
- ASP.NET Core Web API 开发-RESTful API实现
ASP.NET Core Web API 开发-RESTful API实现 REST 介绍: 符合REST设计风格的Web API称为RESTful API. 具象状态传输(英文:Representa ...
- 从就业面分析web前端开发工程师就业前景(2011.6)
案例一 公司名称:法国电信北京研发中心 工作地点:北京 联系方式:hao.luan@orange-ftgroup.com 栾先生 岗位名称:web 前端开发工程师 岗位要求: 1. 计算机或相关专业本 ...
- 淘宝前端工程师:国内WEB前端开发十日谈
一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...
- X5的UI部分和传统Web页面开发的差异
http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...
随机推荐
- last和history 查看登录和操作命令
last命令 last命令:用于显示用户最近登录信息.单独执行last命令,它会读取/var/log/wtmp的文件,并把该文件的内容记录的登入系统的用户名单全部显示出来. 语法 last(选项)(参 ...
- [BZOJ4665] 小w的喜糖 题解
我们先假设同种糖间存在差异. 设 \(f_{i,j}\) 表示前 \(i\) 种糖至少有 \(j\) 人拿到的糖和原来一样,\(c_i\) 表示拿第 \(i\) 种糖的人的个数,则有: \[f_{i, ...
- NebKit简介及工作流程
引言 随着云计算技术的不断发展,容器化技术已成为现代软件开发和部署的重要组成部分.NebKit作为一个创新的容器编排和管理工具,旨在简化这一过程,提高开发效率和系统的可靠性.本文将对NebKit进行简 ...
- SpringCloud - [01] SpringCloud概述
题记部分 001 || 微服务概述 002 || 微服务技术栈 微服务条目 落地技术 服务开发 Spring.SpringMVC.SpringBoot 服务配置与管理 Netflix公司的Archai ...
- scala - [01] 概述
题记部分 001 || 介绍 (1)Spark -- 新一代内存级大数据计算框架,是大数据的重要内容 (2)Spark就是使用Scala编写的.因此为了更好的学习Spark,需要掌握Scala. (3 ...
- MySQL索引最左原则:从原理到实战的深度解析
MySQL索引最左原则:从原理到实战的深度解析 一.什么是索引最左原则? 索引最左原则是MySQL复合索引使用的核心规则,简单来说: "当使用复合索引(多列索引)时,查询条件必须从索引的最左 ...
- 【Abaqus Case】2D弹塑性接触分析
2D 弹塑性-接触分析 本案例属于材料非线性+边界条件非线性 问题描述 前处理 材料 *Material, name=steel *Density 7.8e-09, *Elastic 210000., ...
- SVG path 标签根据两点和角度绘制弧线
同步发布:https://blog.jijian.link/2020-04-14/svg-arc/ 由于功能受限,此处不能放 iframe 嵌入链接,如需看到实时效果,请移步 https://blog ...
- HarmonyOS Next 鸿蒙开发-如何使用服务端下发的RSA公钥(字符串)对明文数据进行加密
如何使用服务端下发的RSA公钥(字符串)对明文数据进行加密 将服务器下发的RSA公钥字符串替换掉pubKeyStr即可实现,具体可参考如下代码: import { buffer, util } fro ...
- MySQL 8.0 误删了root用户怎么办
MySQL 8.0 误删了root用户怎么办 修改配置文件 修改配置文件,让其可以无账号登录 默认的文件为: /etc/my.cnf 添加:skip-grant-tables 重启服务 service ...