当前位置: 首页 > news >正文

小门户网站模板wordpress 搜索框 位置

小门户网站模板,wordpress 搜索框 位置,中国风优秀个人网站欣赏,一键装修效果图软件https://cn.vuejs.org/tutorial/#step-2https://cn.vuejs.org/tutorial/#step-2 Vue 单文件组件 (Single-File Component#xff0c;缩写为 SFC) 单文件组件是一种可复用的代码组织形式#xff0c;它将从属于同一个组件的 HTML、CSS 和 JavaScript 封装在使用 .vue 后缀的文件…https://cn.vuejs.org/tutorial/#step-2https://cn.vuejs.org/tutorial/#step-2 Vue 单文件组件 (Single-File Component缩写为 SFC) 单文件组件是一种可复用的代码组织形式它将从属于同一个组件的 HTML、CSS 和 JavaScript 封装在使用 .vue 后缀的文件中。 声明式渲染 Vue 的核心功能是声明式渲染通过扩展于标准 HTML 的模板语法我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时HTML 会自动更新。 能在改变时触发更新的状态被称作是响应式的。我们可以使用 Vue 的 reactive() API 来声明响应式状态。由 reactive() 创建的对象都是 JavaScript Proxy其行为与普通对象一样。 reactive() 只适用于对象 (包括数组和内置类型如 Map 和 Set)。而另一个 API ref() 则可以接受任何值类型。ref 会返回一个包裹对象并在 .value 属性下暴露内部值。 template是一个内容模板里面是内容的各个小模块。 templatedivh1{{ message }}/h1pCount is: {{ counter.count }}/pbutton clickincrementIncrease Count/buttonh1Make me dynamic!/h1/div /template script setup是业务逻辑层 script setup import { ref, reactive } from vue// 定义响应式数据 const counter reactive({count: 0 })const message ref(Hello, Vue!)// 定义方法 function increment() {counter.count }// 初始化时递增一次 console.log(counter.count) // 0 counter.count /script style是内容模块的美化层 style scoped /* 添加一些样式使页面更美观 */ div {text-align: center;margin-top: 50px; }button {padding: 10px 20px;font-size: 16px; } /style 示例 !-- CounterComponent.vue -- templatediv classcounter-containerh1 classmessage{{ message }}/h1p classcount-displayCount is: {{ counter.count }}/pbutton classincrement-button clickincrementIncrease Count/buttonh1 classdynamic-headerMake me dynamic!/h1/div /templatescript setup langts import { ref, reactive, onMounted } from vue// 定义计数器接口 interface Counter {count: number }// 定义响应式数据 const counter reactiveCounter({count: 0 })// 定义消息内容 const message refstring(Hello, Vue!)// 定义增加计数的方法 function increment(): void {counter.count }// 生命周期钩子组件挂载后执行 onMounted(() {console.log(Initial count: ${counter.count}) // 0counter.count }) /scriptstyle scoped /* 容器样式 */ .counter-container {text-align: center;margin-top: 50px; }/* 消息样式 */ .message {font-size: 2em;color: #42b983; }/* 计数显示样式 */ .count-display {font-size: 1.5em;margin: 20px 0; }/* 按钮样式 */ .increment-button {padding: 10px 20px;font-size: 16px;cursor: pointer;border: none;background-color: #42b983;color: white;border-radius: 5px;transition: background-color 0.3s; }.increment-button:hover {background-color: #369870; }/* 动态标题样式 */ .dynamic-header {margin-top: 30px;font-size: 1.2em;color: #333; } /style1. 文件整体结构 这段代码是一个单文件组件Single File Component通常保存在一个以 .vue 结尾的文件里比如 CounterComponent.vue。它被分成三个主要部分 template页面上要显示的结构HTML。script setup langts组件的逻辑和数据处理部分。这里用了 TypeScriptlangts。style scoped样式部分给这个组件的元素增加视觉样式并用 scoped 限制样式范围。 Vue 3 推荐使用这种“单文件组件”格式让结构、逻辑、样式都集中在同一个文件里便于管理和协作。 2. template 部分页面结构与显示内容 templatediv classcounter-containerh1 classmessage{{ message }}/h1p classcount-displayCount is: {{ counter.count }}/pbutton classincrement-button clickincrementIncrease Count/buttonh1 classdynamic-headerMake me dynamic!/h1/div /templatediv classcounter-container这是最外层的容器用于包裹整段内容。给它一个类名是为了在样式里定位并做样式修饰。h1 classmessage{{ message }}/h1 {{ message }} 是插值语法用于显示脚本中定义的 message 变量的值。classmessage 用于给 h1 元素添加样式。p classcount-displayCount is: {{ counter.count }}/p 同样使用插值语法counter.count 表示一个名为 counter 的对象的 count 属性。classcount-display 用于样式管理。button classincrement-button clickincrementIncrease Count/button 这是一个按钮点击后会触发 increment() 方法事件绑定语法clickincrement。classincrement-button 用于样式管理。h1 classdynamic-headerMake me dynamic!/h1 纯文本标题让页面看起来更丰富一些暂时没有绑定任何逻辑。 小结template 就像是 HTML但是可以使用 Vue 的插值和指令如 click来展示和控制数据。 3. script setup langts 部分业务逻辑与数据管理 script setup langts import { ref, reactive, onMounted } from vue// 定义计数器接口 interface Counter {count: number }// 定义响应式数据 const counter reactiveCounter({count: 0 })// 定义消息内容 const message refstring(Hello, Vue!)// 定义增加计数的方法 function increment(): void {counter.count }// 生命周期钩子组件挂载后执行 onMounted(() {console.log(Initial count: ${counter.count}) // 0counter.count }) /script3.1 import { ref, reactive, onMounted } from vue ref、reactive 和 onMounted 是 Vue 3 组合式 API 的核心方法。 ref()创建一个单值的响应式数据通常用于字符串、数字、布尔值等基本类型。reactive()创建一个对象或数组的响应式数据能让其中所有属性都具备响应式。onMounted()Vue 的生命周期钩子当组件第一次加载挂载到页面上时会执行这里的回调。 3.2 TypeScript 接口 Counter interface Counter {count: number }这是 TypeScript 的语法定义了一个接口 Counter表示这个对象里应该有一个 count 属性且类型为 number。给 reactive 用上这个接口可以让代码编辑器对 counter.count 做类型检查更好地规避错误。 3.3 定义响应式数据 counter const counter reactiveCounter({count: 0 })reactiveCounter() 表示用 Counter 这个接口来约束对象结构。count: 0 表示初始值是 0。任何使用 counter.count 的地方都会在它改变时自动刷新页面上对应的位置也就是响应式的特点。 3.4 定义消息内容 message const message refstring(Hello, Vue!)message 用 ref() 定义初始值 Hello, Vue!。string 明确说明 message.value 会是一个字符串类型。在模板里你可以直接用 {{ message }}Vue 会自动解包unref ref无需写 message.value。 3.5 定义方法 increment() function increment(): void {counter.count }当用户点击按钮时会执行这个函数让 counter.count 递增 1。: void 表示这是一个不返回值的函数TypeScript 语法。 3.6 生命周期钩子 onMounted onMounted(() {console.log(Initial count: ${counter.count})counter.count })在组件加载挂载时打印当前的 count 值然后再让它自增 1。这个回调只会在组件第一次挂载到页面时运行一次适合做初始化逻辑、获取数据等操作。 4. style scoped 部分样式 style scoped /* 容器样式 */ .counter-container {text-align: center;margin-top: 50px; }/* 消息样式 */ .message {font-size: 2em;color: #42b983; }/* 计数显示样式 */ .count-display {font-size: 1.5em;margin: 20px 0; }/* 按钮样式 */ .increment-button {padding: 10px 20px;font-size: 16px;cursor: pointer;border: none;background-color: #42b983;color: white;border-radius: 5px;transition: background-color 0.3s; }.increment-button:hover {background-color: #369870; }/* 动态标题样式 */ .dynamic-header {margin-top: 30px;font-size: 1.2em;color: #333; } /stylescoped 表示样式只作用于当前组件不会影响其它组件或全局页面。每个 CSS 选择器都对应我们在 template 中写的 class 名称比如 .counter-container、.message、.count-display 等等。给按钮设置了鼠标悬停:hover时的背景色变换还加了一点圆角和过渡动画让交互更友好。 5. 代码的工作流程 组件加载 当这个 CounterComponent.vue 被导入并在页面中使用时Vue 会解析 template、script setup 和 style。初始化数据 counter.count 0message Hello, Vue!。onMounted 组件挂载到页面后onMounted() 回调被执行打印出初始的 count 值然后立即将 count 改成 1。这样你的页面在初始化时{{ counter.count }} 可能很快就会从 0 变成 1你在控制台也能看到 “Initial count: 0” 的日志。用户交互 当用户点击 “Increase Count” 按钮时会调用 increment() 方法让 counter.count。Vue 自动检测到 counter.count 的变化重新渲染页面让 {{ counter.count }} 显示新的值。样式呈现 由于 scoped这些 CSS 样式只对当前组件生效不会影响全局或其他组件。 6. 总结与提示 单文件组件 (SFC)template、script setup、style 这三部分合在一起方便你把界面、逻辑、样式都集中在同一个文件维护清晰易于管理。组合式 API (Composition API)通过 ref(), reactive(), onMounted() 等函数让数据和业务逻辑更灵活地组合、拆分。学会它之后你可以更轻松地管理复杂的应用逻辑。TypeScript在 script setup langts 里TypeScript 能帮助你检查数据类型避免一些低级错误。对于大型项目或多人协作非常有用。如果你暂时对 TS 不熟悉也可以先使用普通的 JavaScript去掉 langts 和相关类型注解等熟悉后再进阶。scoped 样式让当前组件的 CSS 不会跑去影响其它地方减少样式冲突。对于大型项目中样式维护也更有条理。学习路径建议你先熟悉 Vue 的基本概念如数据响应式、指令、插值语法再了解 script setup 中的组合式 API最后再考虑引入 TypeScript 或更多高级特性。
http://www.dnsts.com.cn/news/228759.html

相关文章:

  • 做网站的准备什么软件网站页面背景
  • 焦作做网站公司附近广告喷绘制作公司
  • 个人网站怎么做推广wordpress 延迟执行
  • 怎么把自己的网站做自适应网站dw软件怎么制作网页
  • 高校支付网站建设费需要入无形资产建仿网站
  • 网站策划编辑是干嘛的网站的打开速度
  • 谷歌商店下载安装东莞网站推广及优化
  • 玩具网站建设策划书汽配网站开发
  • 请人做竞价网站的要求重点免费上传图片的网址
  • 做电子商务网站建设银行网网站
  • 网站底部关键词指向秦皇岛海三建设怎么样
  • 网站集群建设ppt无锡电子商务网站建设
  • 凉山州建设厅官方网站wordpress 3.9 for sae
  • 网站简繁体转换 js网站开发参数
  • 网站建设领导小组如何在网上打广告
  • 找人做个网站大概多少钱网页设计素材哪里找
  • 成都网站建设 雷ios软件开发工程师
  • 有哪些平台网站是做废钢的网站建设公司首选华网天下
  • 代刷推广网站中国建设网官网下载
  • 做网站一般要多钱赤峰建筑人才网
  • 免费优化网站排名一个小程序制作价格
  • 做网站有哪几种语言成都 专业 网站建设
  • 哪里可以做营销型网站网站开发思维导图内容
  • 福州制作网站企业营销咨询公司排名
  • 网站备案更名如何找外贸公司
  • 工厂 网站建设南京马鞍山网站建设
  • 电信备案网站重庆seo小z博客
  • 后台网站地图贵阳网站优化排名
  • 网站开发制作公司有哪些关键词优化内容
  • 做网站快速赚钱建设网站的公司兴田德润实力强