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

做网站哪家公司比较好而且不贵seo报告

做网站哪家公司比较好而且不贵,seo报告,网站建设日程表范文,廊坊关键词排名软件在 San框架 中监听组件内部字体大小并调整宽度,可以结合 自定义事件 或 数据绑定 来实现动态调整。San 框架没有直接的监听 DOM 尺寸变化的内置方法,但可以通过以下步骤实现: 方法一:使用 ResizeObserver 监听字体变化 在组件的 …

在 San框架 中监听组件内部字体大小并调整宽度,可以结合 自定义事件数据绑定 来实现动态调整。San 框架没有直接的监听 DOM 尺寸变化的内置方法,但可以通过以下步骤实现:


方法一:使用 ResizeObserver 监听字体变化

在组件的 attached 生命周期中,使用 ResizeObserver 来监听组件内部的 DOM 元素变化,并更新 San 组件的数据。

示例代码
import { Component } from 'san';export default class MyComponent extends Component {initData() {return {width: 'auto'};}attached() {const targetElement = this.ref('content');const resizeObserver = new ResizeObserver((entries) => {for (const entry of entries) {const contentRect = entry.contentRect;const fontSize = parseFloat(window.getComputedStyle(entry.target).fontSize);this.data.set('width', `${fontSize * 2}px`); // 动态调整宽度}});if (targetElement) {resizeObserver.observe(targetElement);}// 确保观察器在组件销毁时释放资源this.resizeObserver = resizeObserver;}detached() {if (this.resizeObserver) {this.resizeObserver.disconnect();}}static template = `<div class="my-component" style="width: {{width}}"><div ref="content" class="content">{{text}}</div></div>`;
}
关键点:
  • this.ref('content') 引用内部 DOM 元素。
  • 使用 ResizeObserver 动态监听字体大小变化。
  • 宽度通过 San 的数据绑定动态更新。

方法二:手动触发字体变化的监听逻辑

如果字体大小是通过组件的 dataprops 动态设置,可以监听数据变化,并在 watch 或事件中更新宽度。

示例代码
import { Component } from 'san';export default class MyComponent extends Component {initData() {return {fontSize: 16,width: 'auto'};}inited() {this.watch('fontSize', (fontSize) => {const width = fontSize * 2; // 依据字体大小计算宽度this.data.set('width', `${width}px`);});}static template = `<div class="my-component" style="width: {{width}}"><div class="content" style="font-size: {{fontSize}}px">{{text}}</div></div>`;
}
关键点:
  • 使用 watch 方法监听字体大小的变化。
  • 通过 data 绑定宽度和字体大小。

方法三:结合 MutationObserver

attached 生命周期中,通过 MutationObserver 监听内部 DOM 元素的样式变化。

示例代码
import { Component } from 'san';export default class MyComponent extends Component {attached() {const targetElement = this.ref('content');const observer = new MutationObserver(() => {const fontSize = parseFloat(window.getComputedStyle(targetElement).fontSize);this.data.set('width', `${fontSize * 2}px`);});if (targetElement) {observer.observe(targetElement, {attributes: true,attributeFilter: ['style', 'class']});}this.observer = observer;}detached() {if (this.observer) {this.observer.disconnect();}}static template = `<div class="my-component" style="width: {{width}}"><div ref="content" class="content">{{text}}</div></div>`;
}
关键点:
  • 使用 MutationObserver 监听 styleclass 的变化。
  • detached 生命周期中断开观察器。

方法四:CSS 自适应方案(无需 JS)

如果字体大小和宽度的关系可以直接用 CSS 描述,可以通过 emcalc() 实现自动调整。

示例代码
.my-component {display: inline-block;width: calc(1.5em + 10px); /* 根据字体大小自动调整宽度 */
}.content {font-size: 16px;
}
San 模板
export default class MyComponent extends Component {static template = `<div class="my-component"><div class="content">{{text}}</div></div>`;
}

选择合适方案

  • 字体大小频繁变化ResizeObserver 更加高效。
  • 依赖 San 数据绑定:通过 watch 或直接监听数据更简单。
  • 简单静态布局:使用 CSS 自适应可以避免额外开销。
http://www.cotm.com.cn/news/465.html

相关文章:

  • 网站建设系统怎么样浙江网站建设营销
  • 北京手机版网站制作吉林关键词优化的方法
  • 企业做网站优势app关键词排名优化
  • 做汽车拆解视频网站百度投诉热线中心客服
  • 上传发布的步骤分为哪六个部分如何seo网站推广
  • 免费部署网站旺道seo软件技术
  • 做理财网站需要办理icp证吗公司推广网站
  • 镇江建站推广报价江北seo
  • WordPress中的传媒主题seo点石论坛
  • 最新新闻头条国家大事国际新闻百度seo优化培训
  • 酒类销售公司的网站建设站长seo
  • 网站加速器怎么开短视频营销的发展趋势
  • wordpress在哪里注册广州seo托管
  • 建设银行官方网站手机版王通seo赚钱培训
  • 做婚庆的网站有哪些网站推广软件ky99
  • 如何让广域网访问利用公网ip和本地服务器建设的网站企业官网首页设计
  • 做外贸要有英文网站吗应用商店关键词优化
  • 广州知名网站建设网页设计服务开平网站设计
  • 湛江制作公司网站百度指数的作用
  • php 中英双语网站源码网上推广培训
  • 厦门seo网站管理搜索百度一下
  • 网站构思品牌营销推广策划方案
  • 网站做支付宝接口吗网站建设是什么工作
  • wordpress 百度广告seo的方式包括
  • WordPress用quic搜索引擎优化人员优化
  • wordpress class泰州seo推广公司
  • 加强网站微信公众号平台建设人民日报今日头条新闻
  • 网站建设中山优化深圳百度地图
  • 关于做网站公司周年大促销友链查询站长工具
  • 郑州网站制作郑州网站制作案例广告接单网站