在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答
艷骨 回答

vue把代理了你的數(shù)據(jù),所以才看到的是那樣子,數(shù)據(jù)還是原來(lái)的數(shù)據(jù),沒(méi)什么區(qū)別的。就是現(xiàn)在變成了響應(yīng)式數(shù)據(jù)

選擇 回答

https://open-doc.dingtalk.com/
看官方api,如果沒(méi)有就是沒(méi)有。不要妄想有,我反正沒(méi)看見(jiàn)

青檸 回答

on-success是文件上傳成功時(shí)的鉤子,你可以在這個(gè)鉤子中獲取到后端的返回?cái)?shù)據(jù)哇

...
:on-success="handleAvatarSuccess"
...
methods: {
    handleAvatarSuccess(response, file, fileList) {
        //response這個(gè)
    }
}
筱饞貓 回答

建議使用Path類(lèi)操作文件,涉及文件監(jiān)聽(tīng)事件、文件權(quán)限等高級(jí)特性
下面是隨便在博客上找的,東西比較雜,還需要你自己看API

package filespaths;
import org.junit.Test;
import java.io.*;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFilePermission;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Stream;
/**
 * @Author kingboy
 * @Date 2017/4/13 11:05
 * @Description Path is used to Path Sample
 * @email kingboyworld@163.com
 */
public class PathTest {
  private static String separator = File.separator;
  /**
   * 構(gòu)建Path
   */
  @Test
  public void constructon(){
    //1.Paths
    Path path = Paths.get("/Users/kingboy/Desktop/");
    Path path1 = Paths.get(URI.create("/Users/kingboy/Desktop/"));
    //2.FileSystems
    Path path2 = FileSystems.getDefault().getPath("/Users/kingboy/Desktop/");
    //3.File
    Path path3 = new File("/Users/kingboy/Desktop/").toPath();
  }
  /**
   * 創(chuàng)建一個(gè)空文件/文件夾
   * @throws IOException
   */
  @Test
  public void create() throws IOException {
    //文件夾
    Path path = Paths.get("/Users/kingboy/Desktop/hello");
    if(!Files.exists(path)){
      Files.createDirectory(path);
      //創(chuàng)建多個(gè)目錄
      //Files.createDirectories(path);
    }
    //文件
    Path path1 = Paths.get("/Users/kingboy/Desktop/helloFile");
    if(Files.exists(path1)){
      Files.createFile(path1);
    }
  }
  /**
   * 文件屬性
   */
  @Test
  public void getFileProperties() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/text.txt");
    System.out.println(Files.getLastModifiedTime(path));//最后修改時(shí)間
    System.out.println(Files.getOwner(path));//擁有者
    System.out.println(Files.getPosixFilePermissions(path));//權(quán)限
    System.out.println(Files.size(path));//文件大小
  }
  /**
   * 讀取一個(gè)文本文件
   */
  @Test
  public void readText() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/text.txt");
    //通過(guò)bufferedReader讀取
    BufferedReader bufferedReader = Files.newBufferedReader(path, StandardCharsets.UTF_8);//文件編碼
    StringBuilder sb = new StringBuilder();
    String tempString = null;
    while ((tempString = bufferedReader.readLine())!=null){
      sb = sb.append(tempString);
    }
    System.out.println(sb);
    //通過(guò)Files方法readAllLines
    List<String> strings = Files.readAllLines(path);
    strings.forEach(s -> System.out.print(s));
    //輸出結(jié)果
    //adsfasdfasdfadsfasdfgsdfsdffsdfsdf
    //adsfasdfasdfadsfasdfgsdfsdffsdfsdf
  }
  /**
   * 拿到文件輸入流
   * @throws IOException
   */
  @Test
  public void getInputStream() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/text.txt");
    InputStream inputStream = Files.newInputStream(path);
  }
  /**
   * 文件寫(xiě)操作
   */
  @Test
  public void writeFile() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/writeFile");
    BufferedWriter bufferedWriter = Files.newBufferedWriter(path);
    String str = "write file test";
    bufferedWriter.write(str);
    bufferedWriter.flush();
    bufferedWriter.close();
  }
  /**
   * 遍歷一個(gè)文件夾
   */
  @Test
  public void traverseDirectory() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/");
    Stream<Path> list = Files.list(path);
    list.forEach(p -> {
      System.out.println(p.getFileName());
    });
  }
  /**
   * 遍歷文件樹(shù)
   */
  @Test
  public void traverseTree() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/");
    Stream<Path> walk = Files.walk(path);
    walk.forEach(path1 -> {
//      System.out.println(path1.getRoot());//根目錄
      System.out.println(path1.getFileName());//文件名
//      System.out.println(path1.getParent());//上級(jí)目錄
//      System.out.println(path1.getFileSystem());//文件系統(tǒng)
    });
    //還有種方式Files.walkFileTree()
  }
  /**
   * 文件復(fù)制
   */
  @Test
  public void copyFile() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/text.txt");
    Path path2 = Paths.get("/Users/kingboy/Desktop/hello.txt");
    Files.copy(path,path2);
  }
  /**
   * 讀取權(quán)限見(jiàn)上面示例,設(shè)置權(quán)限
   */
  @Test
  public void writePermission() throws IOException {
    Path path = Paths.get("/Users/kingboy/Desktop/text.txt");
    Set<PosixFilePermission> permissionSet = new HashSet<>();
    permissionSet.add(PosixFilePermission.GROUP_WRITE);
    permissionSet.add(PosixFilePermission.OWNER_EXECUTE);
    Files.setPosixFilePermissions(path,permissionSet);
  }
  //還有很多其他操作Api,自己查看方法名,很容易就能分辨出功能。
 }

最快捷的辦法,看響應(yīng)頭,若包含 x-cache, via, x-via等字段,基本都是用了cdn加速。

何蘇葉 回答

因你沒(méi)有說(shuō)明 x-real-ip 是哪層協(xié)議的字段/內(nèi)容,這里假設(shè)它是 HTTP 協(xié)議的頭部。

要過(guò)濾自定義的 HTTP 頭部字段,需要在 wireshark 菜單

 編輯 -> 首選項(xiàng) -> 協(xié)議 -> HTTP

中添加自定義字段

 x-real-ip

然后重啟 wireshark,在過(guò)濾框中輸入 http.header.x-real-ip 便可過(guò)濾出所有帶 x-real-ip 字段的 HTTP 請(qǐng)求。

浪婳 回答

大概意思是這樣:在打印數(shù)組或是對(duì)象的時(shí)候是通過(guò)引用去取的值,當(dāng)你改變數(shù)組時(shí),打印出來(lái)的值自然也就變了

夏木 回答

看起來(lái)像是網(wǎng)絡(luò)原因啊,
要是確定配置沒(méi)錯(cuò),就耐心等等,或者換一個(gè)好點(diǎn)的網(wǎng)絡(luò)
或者清空一下hexo的緩存文件,重來(lái)一遍試試

久不遇 回答

使用工具 xrandr 可以指定任意一種(顯示器支持的)分辨率,也可以設(shè)置縮放比例,還可以設(shè)置多屏幕協(xié)作模式。

例如,列舉所有顯示設(shè)備的參數(shù) xrandr -q

HDMI-N connected 1024x768+0+0 (...) ...
   ...
   1024x768  ...
   ...

例如,設(shè)置輸出設(shè)備 DP-1,及縮放比例 1.5
xrandr --output DP-1 --scale 1.5x1.5

替身 回答

假設(shè)list 是 后臺(tái)傳過(guò)來(lái)的數(shù)據(jù)

    const list = [
    { id: 1, name: '郭德鋼' }, 
    { id: 2, name: '周杰輪' }, 
    { id: 3, name: '人生海海' },
    ]
<Steps progressDot current={1}>
    {
        list.map((item) => {
            return (
                <Step key={item.id} title={item.name} description={item.name} />
            )
        })
    }
</Steps>

很簡(jiǎn)單

好巧啊,我剛好在寫(xiě) Vue源碼閱讀 - 批量異步更新與nextTick原理 的文章,剛好涉及了這一塊的內(nèi)容~

這個(gè)情況在vue的源碼中尤雨溪也注釋出來(lái)了,你可以點(diǎn)進(jìn)去看看,所以在2.5之后的版本更改了這個(gè)情況,我這里就翻譯一下:

在2.4之前的版本中,nextTick基本上基于microtask來(lái)實(shí)現(xiàn)的,但是在某些情況下microtask具有太高的優(yōu)先級(jí)
,并且可能在連續(xù)順序事件(例如#4521,#6690)之間或者甚至在同一事件的事件冒泡過(guò)程中(#6566)之間觸發(fā)。
但是如果全部都改成macrotask,對(duì)一些有重繪和動(dòng)畫(huà)的場(chǎng)景也會(huì)有性能影響,如 issue #6813。
這里提供的解決辦法是默認(rèn)使用microtask,但在需要時(shí)(例如在v-on附加的事件處理程序中)強(qiáng)制使用macrotask

所以2.4之前不會(huì)顯示是因?yàn)橹笆褂胢icrotask來(lái)實(shí)現(xiàn)的dom事件,它在當(dāng)前tick的macro task執(zhí)行完之后 patch 之前執(zhí)行,所以我猜測(cè)是因?yàn)?micro task 高優(yōu)先級(jí)的原因沒(méi)等當(dāng)前tick的變動(dòng) patch 渲染到真實(shí)dom上就已經(jīng)更改了數(shù)據(jù),因此當(dāng)然不會(huì)渲染到真實(shí)DOM上了。

而2.5之后的nextTick使用macrotask,是肯定在下個(gè)tick之后執(zhí)行的回調(diào),所以在這個(gè)回調(diào)執(zhí)行之前input進(jìn)去的內(nèi)容自然會(huì)被渲染到真實(shí)dom上,所以你看到的就是一閃而過(guò)了~

女流氓 回答

不是有active嘛https://youzan.github.io/vant...
圖片描述

他應(yīng)該是根據(jù)van-tab順序的index來(lái)判斷對(duì)應(yīng)的active的 兩種方法嘛 一個(gè)動(dòng)態(tài)的根據(jù)v-for顯示你要顯示的內(nèi)容 第二種就是多寫(xiě)幾個(gè)van-tab 反正他的內(nèi)容是根據(jù)slot來(lái)的

<van-tabs v-model="active">
    <van-tab :title="...">內(nèi)容1</...>
    <van-tab :title="...">內(nèi)容2</...>
    <van-tab :title="...">內(nèi)容3</...>
</...>
久不遇 回答

正則改成/\d+/g
/\d*/g可以匹配0個(gè)數(shù)字,所以就不會(huì)停止,死循環(huán)了


MDN 正則表達(dá)式
正則表達(dá)式用于匹配符合一定模式的字符串。
*表示匹配前一個(gè)表達(dá)式0次或多次。
所以/c/g.test("a string")表示字符串"a string"是否有一個(gè)c,而/c*/g.test("a string")表示字符串"a string"是否至少有0個(gè)c。顯然至少有0個(gè)是絕對(duì)絕對(duì)會(huì)成立的。所以/c*/g.exec("a string")在一開(kāi)始就會(huì)匹配成功(因?yàn)槟阈枰辽?個(gè),就算我開(kāi)頭是a,我返回給你0個(gè)c`也就是空字符串也符合你要求,如果你用while來(lái)循環(huán),我就一直給你空字符串)。


正則用于匹配符合一定模式的字符串。
比如/b表示單詞邊界,/string\b/g.test("strings")false,是因?yàn)樽址?code>strings在g后還有s所以不是單詞邊界。/string\b/g.test("string~~~")true因?yàn)?code>g后面接~,單詞已經(jīng)結(jié)束了。
但是這不能說(shuō)g~間有一個(gè)單詞邊界/b這樣的東西。字符串只是簡(jiǎn)單的一串字符,string~~~只是st、r...~這樣一串字符在一起。 /b是否存在是正則表達(dá)式解析程序發(fā)現(xiàn)你的string~~~string~~~,在string就已經(jīng)結(jié)束了一個(gè)單詞,所以它判定你這個(gè)字符串符合/string\b/g這樣的模式

請(qǐng)問(wèn)你的問(wèn)題解決了嗎?我也遇到同樣的問(wèn)題了

尛曖昧 回答

工具是idea么,是的話應(yīng)該是輸出路徑?jīng)]有配置好

夏木 回答

vue直接引用就可以了吧,不需要安裝吧

賤人曾 回答

23333,你這個(gè)是最經(jīng)典的函數(shù)防抖應(yīng)用場(chǎng)景。

使函數(shù)在一定的時(shí)間內(nèi)不被再調(diào)用后執(zhí)行。

也就是說(shuō),當(dāng)你觸發(fā)scroll或者change時(shí),不要直接去修改數(shù)據(jù),而是添加一個(gè)定時(shí)器來(lái)執(zhí)行修改數(shù)據(jù)的操作,在下次觸發(fā)函數(shù)時(shí),清除這個(gè)定時(shí)器,然后重新設(shè)置定時(shí)器。

或者說(shuō)用函數(shù)節(jié)流的方式也可以實(shí)現(xiàn)你的效果。

// 函數(shù)節(jié)流的實(shí)現(xiàn)方案
let throttleIdentify = 0
$dragable.addEventListener('mousemove', () => {
  if (throttleIdentify) return
  throttleIdentify = setTimeout(() => throttleIdentify = 0, 500)
  console.log('trigger')
})

// 函數(shù)防抖方案
let debounceIdentify = 0
window.addEventListener('resize', () => {
  debounceIdentify && clearTimeout(debounceIdentify)
  debounceIdentify = setTimeout(() => {
    console.log('trigger')
  }, 300)
})

看選擇咯,目的都是限制函數(shù)執(zhí)行的頻率。
這里有一篇之前的博客可以參考:函數(shù)節(jié)流與函數(shù)防抖

青檸 回答

初學(xué)的時(shí)候不要用redux。


曾經(jīng)有人說(shuō)過(guò)這樣一句話。

"如果你不知道是否需要 Redux,那就是不需要它。"

Redux 的創(chuàng)造者 Dan Abramov 又補(bǔ)充了一句。

"只有遇到 React 實(shí)在解決不了的問(wèn)題,你才需要 Redux 。"