찾다
웹 프론트엔드View.jsVuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

Vuejs에서는 기본 DOM에서 작동하도록 일부 지침을 사용자 정의합니다. 다음 문서에서는 개발 효율성을 향상시키기 위해 직접 사용할 수 있는 일반적으로 사용되는 일부 사용자 정의 명령 코드를 요약하고 공유합니다!

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

【관련 추천: "vue.js tutorial"】

1. 요소 클릭 범위 확장 지침 v-expandClick

이 지침을 사용하면 요소의 클릭 범위를 암시적으로 확장할 수 있습니다. 빌린 의사 요소 구현이므로 페이지의 요소 배열 및 레이아웃에 영향을 미치지 않습니다.

전달할 수 있는 매개 변수는 위쪽, 오른쪽, 아래쪽 및 왼쪽 확장 범위(px)이며 기본 확장은 10px입니다. 명령의 코드는 다음과 같습니다:

export default function (el, binding) {
    const s = document.styleSheets[document.styleSheets.length - 1]
    const DEFAULT = -10 // 默认向外扩展10px
    const ruleStr = `content:"";position:absolute;top:-${top || DEFAULT}px;bottom:-${bottom || DEFAULT}px;right:-${right || DEFAULT}px;left:-${left || DEFAULT}px;`
    const [top, right, bottom, left] = binding.expression && binding.expression.split(',') || []
    const classNameList = el.className.split(' ')
    el.className = classNameList.includes('expand_click_range') ? classNameList.join(' ') : [...classNameList, 'expand_click_range'].join(' ')
    el.style.position = el.style.position || "relative"
    if (s.insertRule) {
        s.insertRule('.expand_click_range::before' + '{' + ruleStr + '}', s.cssRules.length)
    } else { /* IE */
        s.addRule('.expand_click_range::before', ruleStr, -1)
    }
}

매개변수 속성:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 다음과 같이 템플릿의 모든 요소에 새로운 v-expandClick 속성을 사용할 수 있습니다.

<div v-expandClick="20,30,40,50" @click="glabClickoutside"> 点击范围扩大</div>

2. v-copy

이 명령을 사용하여 요소의 텍스트 내용을 복사합니다(명령은 세 가지 모드를 지원합니다: v-copy를 복사하려면 클릭, v-copy.dblclick을 복사하려면 두 번 클릭, v를 복사하려면 아이콘 클릭). -copy.icon). 매개변수가 전달되지 않으면 기본적으로 클릭이 사용됩니다.

명령의 코드는 다음과 같습니다.

export default {
  bind (el, binding) {
    // 双击触发复制
    if (binding.modifiers.dblclick) {
      el.addEventListener(&#39;dblclick&#39;, () => handleClick(el.innerText))
      el.style.cursor = &#39;copy&#39;
    }
    // 点击icon触发复制
    else if (binding.modifiers.icon) {
      if (el.hasIcon) return
      const iconElement = document.createElement(&#39;i&#39;)
      iconElement.setAttribute(&#39;class&#39;, &#39;el-icon-document-copy&#39;)
      iconElement.setAttribute(&#39;style&#39;, &#39;margin-left:5px&#39;)
      el.appendChild(iconElement)
      el.hasIcon = true
      iconElement.addEventListener(&#39;click&#39;, () => handleClick(el.innerText))
      iconElement.style.cursor = &#39;copy&#39;
    }
    // 单击触发复制
    else {
      el.addEventListener(&#39;click&#39;, () => handleClick(el.innerText))
      el.style.cursor = &#39;copy&#39;
    }
  }
}

function handleClick (text) {
  // 创建元素
  if (!document.getElementById(&#39;copyTarget&#39;)) {
    const copyTarget = document.createElement(&#39;input&#39;)
    copyTarget.setAttribute(&#39;style&#39;, &#39;position:fixed;top:0;left:0;opacity:0;z-index:-1000;&#39;)
    copyTarget.setAttribute(&#39;id&#39;, &#39;copyTarget&#39;)
    document.body.appendChild(copyTarget)
  }

  // 复制内容
  const input = document.getElementById(&#39;copyTarget&#39;)
  input.value = text
  input.select()
  document.execCommand(&#39;copy&#39;)
  // alert(&#39;复制成功&#39;)
}

매개변수 속성:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 다음과 같이 템플릿의 모든 요소에 새로운 v-copy 속성을 사용할 수 있습니다.

<div v-copy> 单击复制 </div>
<div v-copy.dblclick> 双击复制 </div>
<div v-copy.icon> icon复制 </div>

3. 전체 화면 지침 v-screenfull
전체 화면 명령, 전체 화면 작업을 수행하거나 전체 화면 작업을 종료하려면 요소를 클릭하세요. 요소 뒤에 요소 UI의 전체 화면 아이콘 el-icon-full-screen을 삽입할지 여부를 지원합니다.

지시문의 코드는 다음과 같습니다.

import screenfull from &#39;screenfull&#39;

export default {
  bind (el, binding) {
    if (binding.modifiers.icon) {
      if (el.hasIcon) return
      // 创建全屏图标
      const iconElement = document.createElement(&#39;i&#39;)
      iconElement.setAttribute(&#39;class&#39;, &#39;el-icon-full-screen&#39;)
      iconElement.setAttribute(&#39;style&#39;, &#39;margin-left:5px&#39;)
      el.appendChild(iconElement)
      el.hasIcon = true
  }
    el.style.cursor = el.style.cursor || &#39;pointer&#39;
    // 监听点击全屏事件
    el.addEventListener(&#39;click&#39;, () => handleClick())
  }
}

function handleClick () {
  if (!screenfull.isEnabled) {
    alert(&#39;浏览器不支持全屏&#39;)
    return
  }
  screenfull.toggle()
}

매개변수 속성:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 다음과 같이 템플릿의 모든 요소에 새로운 v-screenfull 속성을 사용할 수 있습니다.

<div v-screenfull.icon> 全屏 </div>

4. 설명 지시문 v-tooltip

element-ui의 el-tooltip과 마찬가지로 요소에 설명을 추가합니다(물음표 아이콘은 마우스로 덮은 후 설명 텍스트를 표시합니다).

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

지시문의 코드는 다음과 같습니다.

import Vue from &#39;vue&#39;
export default function (el, binding) {
    if (el.hasIcon) return
    const iconElement = structureIcon(binding.arg, binding.value)
    el.appendChild(iconElement)
    el.hasIcon = true
}

function structureIcon (content, attrs) {
    // 拼接绑定属性
    let attrStr = &#39;&#39;
    for (let key in attrs) {
        attrStr += `${key}=${attrs[key]} `
    }
    const a = `<el-tooltip content=${content} ${attrStr}><i class="el-icon-question" style="margin:0 10px"></i></el-tooltip>`
    // 创建构造器
    const tooltip = Vue.extend({
        template: a
    })
    // 创建一个 tooltip 实例并返回 dom 节点
    const component = new tooltip().$mount()
    return component.$el
}

매개변수 속성:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 다음과 같이 템플릿의 모든 요소에 새 v-tooltip 속성을 사용할 수 있습니다.

<div v-tooltip:content=&#39;tootipParams&#39;> 提示 </div>

예를 들어 :

<div v-tooltip:提示内容为XXX1> 提示1</div>
<div v-tooltip:提示内容为XXX=&#39;tootipParams&#39;> 提示2 </div>

는 element-ui에서 지원하는 매개변수에 지시어를 전달합니다:

data() {
    return {
        tootipParams: {
            placement: &#39;top&#39;,
            effect: &#39;light&#39;,
        }
    }
}

5. 텍스트가 생략 지침 v-ellipsis를 초과합니다.

텍스트 내용이 너비(기본값 100px). CSS 사용과 동일:

width: 100px;
whiteSpace: nowrap
overflow: hidden;
textOverflow: ellipsis;

지시문 효과 사용:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

지시문의 코드는 다음과 같습니다.

export default function (el, binding) {
    el.style.width = binding.arg || 100 + &#39;px&#39;
    el.style.whiteSpace = &#39;nowrap&#39;
    el.style.overflow = &#39;hidden&#39;;
    el.style.textOverflow = &#39;ellipsis&#39;;
}

매개변수 속성:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 모든 요소에 새로운 v-ellipsis 속성을 사용할 수 있습니다.

<div v-ellipsis:100> 需要省略的文字是阿萨的副本阿萨的副本阿萨的副本阿萨的副本</div>

6. 맨 위로 가기 명령 v-backtop
이 명령을 사용하면 페이지나 지정된 요소를 맨 위로 되돌릴 수 있습니다.

선택적으로 지정된 요소, 지정하지 않으면 글로벌 페이지가 맨 위로 돌아갑니다. 선택적으로 요소가 오프셋된 후 몇 픽셀로 백탑 요소를 표시합니다(예: 400px 스크롤 후 맨 위로 가기 버튼 표시).

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

지시어의 코드는 다음과 같습니다:

export default {
  bind (el, binding, vnode) {
    // 响应点击后滚动到元素顶部
    el.addEventListener(&#39;click&#39;, () => {
    const target = binding.arg ? document.getElementById(binding.arg) : window
    target.scrollTo({
      top: 0,
      behavior: &#39;smooth&#39;
      })
    })
  },
  update (el, binding, vnode) {
    // 滚动到达参数值才出现绑定指令的元素
    const target = binding.arg ? document.getElementById(binding.arg) : window
    if (binding.value) {
      target.addEventListener(&#39;scroll&#39;, (e) => {
        if (e.srcElement.scrollTop > binding.value) {
          el.style.visibility = &#39;unset&#39;
        } else {
          el.style.visibility = &#39;hidden&#39;
        }
      })
    }
    // 判断初始化状态
    if (target.scrollTop < binding.value) {
      el.style.visibility = &#39;hidden&#39;
    }
  },
  unbind (el) {
    const target = binding.arg ? document.getElementById(binding.arg) : window
    target.removeEventListener(&#39;scroll&#39;)
    el.removeEventListener(&#39;click&#39;)
  }
}

매개변수 속성:

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 아래와 같이 템플릿의 모든 요소에 새로운 v-backtop 속성을 사용할 수 있습니다. 400px 스크롤하면 앱 ID가 표시됩니다. 바인딩 명령 요소:

<div  v-backtop:app="400"> 回到顶部 </div>

도 이와 같이 사용할 수 있습니다. 즉, 바인딩 명령 요소가 항상 표시되고 전역 페이지가 맨 위로 돌아갑니다.

<div  v-backtop> 回到顶部 </div>

7. 빈 상태 명령어 v-empty

이 명령어를 사용하세요. 기본 빈 상태가 표시될 수 있습니다. 기본 이미지(선택 사항, 기본적으로 이미지 없음), 기본 텍스트 콘텐츠(선택 사항, 기본적으로 데이터 없음) 및 빈 상태 표시 여부(필수)를 전달할 수 있습니다.

Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

지시어의 코드는 다음과 같습니다:

import Vue from "vue";
export default {
  update (el, binding, vnode) {
    el.style.position = el.style.position || &#39;relative&#39;
    const { offsetHeight, offsetWidth } = el
    const { visible, content, img } = binding.value
    const image = img ? `<img  src="/static/imghwm/default1.png"  data-src="${img}"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)" ></img>` : &#39;&#39;
    const defaultStyle = "position:absolute;top:0;left:0;z-index:9999;background:#fff;display:flex;justify-content: center;align-items: center;"
    const empty = Vue.extend({
    template: `<div style="height:${offsetHeight}px;width:${offsetWidth}px;${defaultStyle}">
      <div style="text-align:center">
        <div>${image}</div>
        <div>${content || &#39;暂无数据&#39;}</div>
      </div>
    </div>`
    })
    const component = new empty().$mount().$el
    if (visible) {
      el.appendChild(component)
    } else {
      el.removeChild(el.lastChild)
    }
  },
}

매개변수 속성:

1Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

그런 다음 템플릿의 모든 요소에 새로운 v-empty 속성을 사용하여 다음과 같이 객체emptyValue를 전달할 수 있습니다. :

<div style="height:500px;width:500px" v-empty="emptyValue"> 原本内容

需要传入一个参数对象,例如显示文字为:暂无列表,图片路径为 ../../assets/images/blue_big.png,控制标示 visible:

emptyValue = {
  content: &#39;暂无列表&#39;,
  img: require(&#39;../../assets/images/blue_big.png&#39;),
  visible: true,
},

8、徽标指令 v-badge

使用该指令在元素右上角显示徽标。

支持配置徽标的背景颜色、徽标形状;支持传入徽标上显示的数字。

1Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

指令的代码如下:

import Vue from &#39;vue&#39;

const SUCCESS = &#39;#72c140&#39;
const ERROR = &#39;#ed5b56&#39;
const WARNING = &#39;#f0af41&#39;
const INFO = &#39;#4091f7&#39;
const HEIGHT = 20
let flag = false
export default {
  update (el, binding, vnode) {
    const { modifiers, value } = binding
    const modifiersKey = Object.keys(modifiers)
    let isDot = modifiersKey.includes(&#39;dot&#39;)
    let backgroundColor = &#39;&#39;
    if (modifiersKey.includes(&#39;success&#39;)) {
      backgroundColor = SUCCESS
    } else if (modifiersKey.includes(&#39;warning&#39;)) {
      backgroundColor = WARNING
    } else if (modifiersKey.includes(&#39;info&#39;)) {
      backgroundColor = INFO
    } else {
      backgroundColor = ERROR
    }

    const targetTemplate = isDot 
        ? `<div style="position:absolute;top:-5px;right:-5px;height:10px;width:10px;border-radius:50%;background:${backgroundColor}"></div>` 
        : `<div style="background:${backgroundColor};position:absolute;top:-${HEIGHT / 2}px;right:-${HEIGHT / 2}px;height:${HEIGHT}px;min-width:${HEIGHT}px;border-radius:${HEIGHT / 2}px;text-align:center;line-height:${HEIGHT}px;color:#fff;padding:0 5px;">${value}</div>`
        
    el.style.position = el.style.position || &#39;relative&#39;
    const badge = Vue.extend({
      template: targetTemplate
    })
    const component = new badge().$mount().$el
    if (flag) {
      el.removeChild(el.lastChild)
    }
    el.appendChild(component)
    flag = true
  }
}

参数 Attributes:

1Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

然后你可以在模板中任何元素上使用新的 v-badge property,如下:

<div v-badge.dot.info="badgeCount" style="height:50px;width:50px;background:#999"> </div>

9、拖拽指令 v-drag

使用该指令可以对元素进行拖拽。

指令的代码如下:

export default {
  let _el = el
  document.onselectstart = function() {
    return false  //禁止选择网页上的文字
  }
  
  _el.onmousedown = e => {
    let disX = e.clientX - _el.offsetLeft //鼠标按下,计算当前元素距离可视区的距离
    let disY = e.clientY - _el.offsetTop
    document.onmousemove = function(e){     
      let l = e.clientX - disX
      let t = e.clientY - disY;
      _el.style.left = l + "px"
      _el.style.top = t + "px"
    }
    document.onmouseup = e => {
      document.onmousemove = document.onmouseup = null
    }
    return false
  }
}

然后你可以在模板中任何元素上使用新的 v-drag property,如下:

<div v-drag> 支持拖拽的元素 </div>

10、响应缩放指令 v-resize

使用该指令可以响应元素宽高改变时执行的方法。

指令的代码如下:

export default {
  bind(el, binding) {
    let width = &#39;&#39;, height = &#39;&#39;;
    function isReize() {
      const style = document.defaultView.getComputedStyle(el);
      if (width !== style.width || height !== style.height) {
        binding.value();  // 执行传入的方法
      }
      width = style.width;
      height = style.height;
     }
     el.__timer__ = setInterval(isReize, 300); // 周期性监听元素是否改变
  },
  unbind(el) {
    clearInterval(el.__timer__);
  }
}

参数 Attributes:

1Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

然后你可以在模板中任何元素上使用新的 v-resize property,如下:

// 传入 resize() 方法
<div v-resize="resize"></div>

11、字符串整形指令 v-format

使用该指令可以修改字符串,如使用 v-format.toFixed 保留两位小数、 v-format.price 将内容变成金额(每三位逗号分隔),可以同时使用,如 v-format.toFixed.price。

例如将数字 243112.331 变成 243112.33,或 243,112.33。

指令的代码如下:

export default {
  update (el, binding, vnode) {
    const { value, modifiers } = binding
    if (!value) return
    let formatValue = value
    if (modifiers.toFixed) {
      formatValue = value.toFixed(2)
    }
    console.log(formatValue)
    if (modifiers.price) {
      formatValue = formatNumber(formatValue)
    }
    el.innerText = formatValue
  },
}



function formatNumber (num) {
  num += &#39;&#39;;
  let strs = num.split(&#39;.&#39;);
  let x1 = strs[0];
  let x2 = strs.length > 1 ? &#39;.&#39; + strs[1] : &#39;&#39;;
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, &#39;$1&#39; + &#39;,&#39; + &#39;$2&#39;);
  }
  return x1 + x2
}

参数 Attributes:

1Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)

然后你可以在模板中任何元素上使用新的 v-format property,如下:

<div> 123 </div>

如何使用这些指令?

为了便于管理指令,我们将每个指令都存在于单独的 js 文件中。在项目的 src 下建一个 directives 目录,目录下新建 index.js 文件用于引入并注册指令。

├── src
|  ├── directive
|  |  ├── index.js
|  |  ├── backtop.js
|  |  ├── badge.js
|  |  ├── copy.js
|  |  ├── ellipsis.js
|  |  ├── empty.js
|  |  ├── expandClick.js
|  |  ├── screenfull.js
|  |  └── tooltips.js
|  ├── main.js

举个例子:

directives 目录下新建 ellipsis.js 文件:

export default function (el, binding) {
    el.style.width = binding.arg || 100 + &#39;px&#39;
    el.style.whiteSpace = &#39;nowrap&#39;
    el.style.overflow = &#39;hidden&#39;;
    el.style.textOverflow = &#39;ellipsis&#39;;
}

directives 的 index.js 文件中引入 ellipsis 指令并注册:

import Vue from &#39;vue&#39;
import ellipsis from &#39;./ellipsis&#39; // 引入指令
// import other directives

const directives = {
  ellipsis
  // other directives
}

Object.keys(directives).forEach(name => Vue.directive(name, directives[name]))

最后在 mian.js 中引入 index.js 文件:

import &#39;@/directives/index&#39;

这样就可以正常使用这些指令了:

import &#39;@/directives/index&#39;

更多编程相关知识,请访问:编程入门!!

위 내용은 Vuejs에서 일반적으로 사용되는 맞춤 지침을 공유하세요(요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
vue.js 이해 : 주로 프론트 엔드 프레임 워크vue.js 이해 : 주로 프론트 엔드 프레임 워크Apr 17, 2025 am 12:20 AM

vue.js는 2014 년 Yuxi가 출시하여 사용자 인터페이스를 구축하기 위해 진보적 인 JavaScript 프레임 워크입니다. 핵심 장점은 다음과 같습니다. 1. 응답 데이터 바인딩, 데이터 변경의 자동 업데이트보기; 2. 구성 요소 개발, UI는 독립적이고 재사용 가능한 구성 요소로 분할 될 수 있습니다.

Netflix의 프론트 엔드 : React (또는 VUE)의 예와 응용 프로그램Netflix의 프론트 엔드 : React (또는 VUE)의 예와 응용 프로그램Apr 16, 2025 am 12:08 AM

Netflix는 React를 프론트 엔드 프레임 워크로 사용합니다. 1) React의 구성 요소화 된 개발 모델과 강력한 생태계가 Netflix가 선택한 주된 이유입니다. 2) 구성 요소화를 통해 Netflix는 복잡한 인터페이스를 비디오 플레이어, 권장 목록 및 사용자 댓글과 같은 관리 가능한 청크로 분할합니다. 3) React의 가상 DOM 및 구성 요소 수명주기는 렌더링 효율성 및 사용자 상호 작용 관리를 최적화합니다.

프론트 엔드 환경 : 넷플릭스가 선택에 어떻게 접근했는지프론트 엔드 환경 : 넷플릭스가 선택에 어떻게 접근했는지Apr 15, 2025 am 12:13 AM

프론트 엔드 기술에서 Netflix의 선택은 주로 성능 최적화, 확장 성 및 사용자 경험의 세 가지 측면에 중점을 둡니다. 1. 성능 최적화 : Netflix는 React를 주요 프레임 워크로 선택하고 Speedcurve 및 Boomerang과 같은 도구를 개발하여 사용자 경험을 모니터링하고 최적화했습니다. 2. 확장 성 : 마이크로 프론트 엔드 아키텍처를 채택하여 응용 프로그램을 독립 모듈로 분할하여 개발 효율성 및 시스템 확장 성을 향상시킵니다. 3. 사용자 경험 : Netflix는 재료 -UI 구성 요소 라이브러리를 사용하여 A/B 테스트 및 사용자 피드백을 통해 인터페이스를 지속적으로 최적화하여 일관성과 미학을 보장합니다.

React vs. Vue : Netflix는 어떤 프레임 워크를 사용합니까?React vs. Vue : Netflix는 어떤 프레임 워크를 사용합니까?Apr 14, 2025 am 12:19 AM

NetflixusesAcustomFrameworkCalled "Gibbon"BuiltonReact, NotreactorVuedirectly.1) TeamExperience : 2) ProjectComplexity : vueforsimplerProjects, 3) CustomizationNeeds : reactoffersmoreflex.4)

프레임 워크의 선택 : Netflix의 결정을 이끌어내는 것은 무엇입니까?프레임 워크의 선택 : Netflix의 결정을 이끌어내는 것은 무엇입니까?Apr 13, 2025 am 12:05 AM

Netflix는 주로 프레임 워크 선택의 성능, 확장 성, 개발 효율성, 생태계, 기술 부채 및 유지 보수 비용을 고려합니다. 1. 성능 및 확장 성 : Java 및 SpringBoot는 대규모 데이터 및 높은 동시 요청을 효율적으로 처리하기 위해 선택됩니다. 2. 개발 효율성 및 생태계 : React를 사용하여 프론트 엔드 개발 효율성을 향상시키고 풍부한 생태계를 활용하십시오. 3. 기술 부채 및 유지 보수 비용 : Node.js를 선택하여 유지 보수 비용과 기술 부채를 줄이기 위해 마이크로 서비스를 구축하십시오.

Netflix의 프론트 엔드의 반응, vue 및 미래Netflix의 프론트 엔드의 반응, vue 및 미래Apr 12, 2025 am 12:12 AM

Netflix는 주로 VUE가 특정 기능을 위해 보충하는 프론트 엔드 프레임 워크로 React를 사용합니다. 1) React의 구성 요소화 및 가상 DOM은 Netflix 애플리케이션의 성능 및 개발 효율을 향상시킵니다. 2) VUE는 Netflix의 내부 도구 및 소규모 프로젝트에 사용되며 유연성과 사용 편의성이 핵심입니다.

프론트 엔드의 vue.js : 실제 응용 프로그램 및 예제프론트 엔드의 vue.js : 실제 응용 프로그램 및 예제Apr 11, 2025 am 12:12 AM

vue.js는 복잡한 사용자 인터페이스를 구축하는 데 적합한 점진적인 JavaScript 프레임 워크입니다. 1) 핵심 개념에는 반응 형 데이터, 구성 요소화 및 가상 DOM이 포함됩니다. 2) 실제 응용 분야에서는 TODO 응용 프로그램을 구축하고 Vuerouter를 통합하여 시연 할 수 있습니다. 3) 디버깅 할 때 VuedeVtools 및 Console.log를 사용하는 것이 좋습니다. 4) 성능 최적화는 V-IF/V- 쇼, 목록 렌더링 최적화, 구성 요소의 비동기로드 등을 통해 달성 할 수 있습니다.

vue.js and React : 주요 차이점 이해vue.js and React : 주요 차이점 이해Apr 10, 2025 am 09:26 AM

vue.js는 중소형 프로젝트에 적합하지만 REACT는 크고 복잡한 응용 프로그램에 더 적합합니다. 1. Vue.js의 응답 형 시스템은 종속성 추적을 통해 DOM을 자동으로 업데이트하여 데이터 변경을 쉽게 관리 할 수 ​​있습니다. 2. 반응은 단방향 데이터 흐름을 채택하고 데이터 흐름에서 하위 구성 요소로 데이터가 흐르고 명확한 데이터 흐름과 곤란하기 쉬운 구조를 제공합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기