学完互动教程,已经有个基本印象,再看看文档,基础部分有涉及了,所以看深入组件那部分文档

注册

全局注册

可以使用 Vue 应用实例的 .component() 方法,让组件在当前 Vue 应用中全局可用

1
2
3
4
5
6
7
8
9
10
11
12
import { createApp } from 'vue'

const app = createApp({})

app.component(
// 注册的名字
'MyComponent',
// 组件的实现
{
/* ... */
}
)

如果使用单文件组件,你可以注册被导入的 .vue 文件:

1
2
3
import MyComponent from './App.vue'

app.component('MyComponent', MyComponent)

.component() 方法可以被链式调用:

全局注册的组件可以在此应用的任意组件的模板中使用

阅读更多

互动教程(Vue3)

列表渲染

条件语句后是循环操作,也是基本操作

可以使用 v-for 指令来渲染一个基于源数组的列表

1
2
3
4
5
<ul>
<li v-for="todo in todos" :key="todo.id">
{{ todo.text }}
</li>
</ul>

这里的 todo 是一个局部变量,表示当前正在迭代的数组元素。它只能在 v-for 所绑定的元素上或是其内部访问,就像函数的作用域一样。

注意,我们还给每个 todo 对象设置了唯一的 id,并且将它作为特殊的 key attribute 绑定到每个 <li>key 使得 Vue 能够精确地移动每个

  • ,以匹配对应的对象在数组中的位置。

  • 阅读更多

    为了快速熟悉Vue,学习下互动教程。

    早上出门有事情,没学完,学到哪算哪

    互动教程(Vue3)

    声明式渲染

    Vue 的核心功能是声明式渲染:通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。

    能在改变时触发更新的状态被认为是响应式的。在 Vue 中,响应式状态被保存在组件中。

    小结

    1. 使用 data 组件选项来声明响应式状态,该选项应该是一个返回对象的函数
    2. 使用双花括号”状态值“渲染文本(双大括号写法又名:mustache语法)
    3. 双花括号中的内容并不只限于标识符或路径——我们可以使用任何有效的 JavaScript 表达式

    阅读更多

    什么是 Vue

    Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。

    核心功能

    • 声明式渲染:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。
    • 响应性:Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。

    声明式渲染:开发界面也是所见即所得

    响应性: 比如最近关税问题,对不同国家的关税是有差异,应用就是当外部输入变化时能做出对应响应的东西

    阅读更多

    Flask 数据库操作

    Flask 提供了多种方式来与数据库进行交互,包括直接使用 SQL 和利用 ORM(对象关系映射)工具,如 SQLAlchemy。

    1. 使用SQLAlchemy
    2. 创建和管理数据库:使用 db.create_all() 创建表。
    3. CRUD 操作:添加、读取、更新和删除记录。
    4. 查询操作:执行基本和复杂查询,包括排序和分页。
    5. Flask-Migrate:使用 Flask-Migrate 管理数据库迁移。
    6. 执行原始 SQL:使用原始 SQL 语句进行数据库操作。

    阅读更多

    表单处理

    1. 基本表单处理:使用 request.form 获取表单数据。
    2. 使用 Flask-WTF:结合 WTForms 进行表单处理和验证,简化表单操作。
    3. 表单验证:使用验证器确保表单数据的有效性。
    4. 文件上传:处理文件上传和保存文件。
    5. CSRF 保护:确保表单免受跨站请求伪造攻击。

    阅读更多

    前言

    继续…

    Flask 模板渲染

    模板是包含占位符的 HTML 文件

    Flask 使用 Jinja2 模板引擎来处理模板渲染。模板渲染允许你将动态内容插入到 HTML 页面中,使得应用能够生成动态的网页内容。

    1. 创建模板:将 HTML 文件放在 templates 文件夹中,使用 Jinja2 占位符。
    2. 渲染模板:使用 render_template 函数在视图函数中渲染模板。
    3. 模板继承:创建基础模板,允许其他模板继承和扩展。
    4. 控制结构:使用条件语句和循环在模板中控制逻辑。
    5. 过滤器:使用过滤器格式化变量数据。
    6. 宏和模板包含:创建和使用宏以及模板包含,提高模板的复用性。
    7. 安全性:Jinja2 默认对模板变量进行自动转义以防止 XSS 攻击。
    8. 模板上下文:将数据传递给模板,并在模板中使用这些数据。

    阅读更多

    前言

    继续学习…

    Flask 视图函数

    视图函数是Flask应用中的核心部分,它负责处理请求并生成响应

    1. 定义视图函数:视图函数是处理请求并返回响应的核心功能。
    2. 接收请求数据:使用 request 对象获取 URL 参数、表单数据、查询参数等。
    3. 返回响应:可以返回字符串、HTML、JSON 或自定义响应对象。
    4. 处理请求和响应:使用 request 对象和 make_response 来处理请求和生成自定义响应。
    5. 处理错误:视图函数内处理异常或使用 Flask 的错误处理机制。
    6. 视图函数的装饰器:使用 @app.before_request、@app.after_request 等装饰器处理请求前后逻辑。
    7. 视图函数返回的状态码:可以指定 HTTP 状态码来表示请求的处理结果。

    阅读更多

    前言

    待业家中继续学习。

    Flask 项目结构

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    my_flask_app/

    ├── app/
    │ ├── __init__.py
    │ ├── routes/ -- 将不同功能模块的路由分开管理
    │ │ ├── __init__.py
    │ │ ├── main.py -- 主模块的路由
    │ │ └── auth.py -- 认证相关的路由
    │ ├── models/ -- 管理数据模型,通常与数据操作相关
    │ │ ├── __init__.py
    │ │ └── user.py -- 用户模型
    │ ├── templates/ -- 存放 HTML 模板文件
    │ │ ├── layout.html -- 布局相关
    │ │ └── home.html
    │ └── static/ -- 存放静态文件,如CSS和JavaScript
    │ ├── css/
    │ └── js/

    ├── config.py -- 配置文件,包含应用的配置信息
    ├── requirements.txt -- 列出项目的依赖库
    ├── migrations/
    │ └── ...
    └── run.py -- 用于启动Flask应用

    如何在Trae IDE中配置Python解释器

    看到app.py 报错,因为没有导入flask库,但我的设备已经安装了,所以应该是需要配置下。在设置中找半天没有找到,后来搜索才知道原来是在Editor中,搜索python,然后将 Python: Default Interpreter Path的路径设置为设备安装的路径。

    藏的有点深,可能从产品的角度上看是不想局限在某种语言,可以在Editor设置的说明文案部分增加编译器,解释器。

    阅读更多

    背景

    在win上访问外部的网站网速比较快,但是日常开发又在macbook上,因此需要两台电脑能数据共享,一开始是想通过微信的,但是同一个账号不能同时登陆;用网盘传输之类的,又要额外下载应用或者依赖浏览器。既然是个人使用,可以直接在win上创建共享目录来解决。

    操作

    设置共享目录

    在win上设置个人目录

    1.png

    阅读更多

    Your browser is out-of-date!

    Update your browser to view this website correctly. Update my browser now

    ×