프런트 엔드 문제의 첫 주 12 월 2019 년 요약

2019년 12월 1일
  • 폭, 브라우저의 높이를 가져옵니다.

    <div id="outer">
       <div id="inner">
          <div id="dot"></div>
       </div>
    </div>
    #outer{
        width: 300px;
        height: 300px;
        background-color: aquamarine;
        margin: 0 auto;
        overflow: hidden;
    }
    #inner{
        width: 150px;
        height: 150.5px;
        background-color: chartreuse;
        padding: 50px;
        border: 10px solid slateblue;
        margin: 15px;
        font-size: 50px;
        overflow: hidden;
        word-break: break-all;
    }
    #dot{
        width: 100%;
        height: 100%;
        background-color: tomato;
        overflow: scroll;
    }
    1. clientWidth / clientHeight

    표시 소자의 폭, 높이. 패딩 영역의 가장자리 등 스크롤바가 포함되지 않은 텍스트 + 영역은 윈도우의 크기가 변경하여 표시한다. 요소와 인라인 스타일 스타일 CSS의 clientWidth 속성은 0입니다

    var ele = document.getElementById('inner');
    var clientWidth = ele.clientWidth;
    var clientHeight = ele.clientHeight;
    console.log(clientWidth);  //250
    console.log(clientHeight);  //251

    2.offsetWidth /는 offsetHeight

    레이아웃 요소의 폭, 높이. 텍스트 영역 + 패딩 영역은 + 경계 영역은 스크롤 (스크롤)을 포함한다.

    속성은 정수로 라운드 (반올림) 일 것이다. 사용 ele.getBoundingClientRect는 () 분수 (소수)를 가져옵니다

    var offsetWidth = ele.offsetWidth; 
    var offsetHeight = ele.offsetHeight;
    console.log(offsetWidth);    //270
    console.log(offsetHeight);  //271

    ele.getBoundingClientRect () 메소드는 뷰포트 요소 위치의 상대적인 크기를 반환한다.

    console.log(ele.getBoundingClientRect());
    //DOMRect{bottom: 293.5,height: 270.5,left: 581.5,right: 851.5,top: 23,width:     270,x: 581.5,y: 23}

    3.scrollWidth / scrollHeight

    화면에 보이지 않는 내용 오버 플로우 오버 플로우를 포함하는 콘텐츠 요소의 폭. 여기서 필요한 모든 콘텐츠 / 높이 적합한 뷰포트의 요소에 적합한 수직 / 수평 스크롤 바를 동일한 폭 최소. 텍스트 영역 + 스크롤바와 의사 소자 폭 / 높이 포함 패딩 영역.

    요소의 내용은 가로 스크롤 막대, 다음 scrollWidth = clientWidth 필요없이 적합 할 수 있습니다.

    var scrollWidth = ele.scrollWidth;
    var scrollHeight = ele.scrollHeight;
    console.log(scrollWidth);  //250
    console.log(scrollHeight);  //251

2019년 12월 4일
  • 에 대한 프로세스를 선택

    <select id="sel">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    • 설정 기본값

      //给option添加selected属性
      document.getElementById("sel")[0].selected = true
    • 상기 선택된 값을 취득

      document.getElementById("sel").value
    • 동적 선택 추가

      var sel = document.createElement("select")
      sel.id = "sel";
      document.body.appendChild(sel)
    • 동적으로 추가 옵션

      var obj = document.getElementById("sel");
      sel.add(new Option("hello",1))
    • 동적 삭제 옵션

      //删除选中的option
      var obj = document.getElementById("sel");
      obj[0].selected = true
      // 获取选中的option的index值
      var index = obj.selectedIndex
      obj.options.remove(index)
      
      //删除所有option
      obj.options.length = 0;
    • 옵션의 값을 수정

      obj.options[0] = new Option("hello again",2)
    • 삭제 선택

      obj.parentNode.removeChild(obj);
2019년 12월 5일
  • 에 iView을 radioGroup의 기본 값을 설정

    //label属性值为string时,可直接绑定
    <RadioGroup v-model="status">
      <Radio label="app">app</Radio>
      <Radio label="app2">app2</Radio>
    </RadioGroup>
    
    data(){
      return {
          status:"app"
      }
    }
    
    //label属性值为number时,应使用:label绑定
    <RadioGroup v-model="status">
      <Radio label="0">app</Radio>
      <Radio label="1">app2</Radio>
    </RadioGroup>
    
    data(){
      return {
          status:1
      }
    }
  • JS 결정 문자열은 문자열을 포함

    /* indexOf(str,index) 返回某个指定的字符串值在字符串中首次出现的位置。
      str 为要检验的字符自串,必填;index为检测开始的位置,选填
      返回值为-1时表示不包含 */
        var str = "hello";
        var res = str.indexOf("l", 2);
        console.log(res);  //2
    
    /* search(str) 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
       str 可以为要检验的字符子串,也可以为检验的RegExp对象。
       如果没有找到任何匹配的子串,则返回 -1。
        search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。*/
        var res2 = "hello".search("o");
        console.log(res2);  4
    
    /* match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。它返回指定的值,而不是字符串的位置。*/
        var res3 = "hello world".match("world")
        console.log(res3);  //...world
    
    /* 正则匹配 */
    /* test() 用于检索字符串中指定的值。返回 true 或 false。*/
        var res3 = RegExp(/3$/).test("123")
        console.log(res3);  //true
    
    /* exec() 用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。*/
        var res4 = RegExp(/lo$/).exec("hello")
        console.log(res4);  //...lo
2019년 12월 7일
  • 웹팩 打包 运行 VUE 时 报错 : VUE 로더가 대응 플러그인없이 사용 하였다. 당신의 웹팩 설정에 VueLoaderPlugin을 포함해야합니다.

    에서 VUE 로더 공식 문서 설명

    뷰 로더 V15 이제 제대로 작동하려면 플러그인 동반 웹팩이 필요

    사용에 웹팩 플러그 (VueLoaderPlugin)와 VUE 로더 V15 요구

    //wwebpack.config.js
    
    const VueLoaderPlugin = require('vue-loader/lib/plugin')
    
    module.exporte = {
        ...
        plugins:[
            new VueLoaderPlugin()
        ]
    }

추천

출처www.cnblogs.com/dairyDeng/p/12012536.html