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

鍍金池/ 問答/ HTML問答
故人嘆 回答

加時間戳,如果沒有構(gòu)建工具,人肉維護(hù)苦不堪言,我們公司就是我人肉維護(hù),都是jsp頁面,如果該頁面邏輯不復(fù)雜的話,把js和css都寫在當(dāng)前頁面,就不用管緩存了

如果是單頁網(wǎng)站,webpack加時間戳很簡單
如果是多頁網(wǎng)站,就應(yīng)該由發(fā)布系統(tǒng)自動檢索打時間戳(后臺解決)

有你在 回答

debug一下看看哈,我也好奇。。。強(qiáng)勢關(guān)注

柚稚 回答

可以看一下template 模塊嗎 感覺和事件綁定有關(guān)

硬扛 回答

去 bilibili 看看有沒有提供相關(guān)代碼,沒有的話就是不允許站外分享吧。
另外你貼的這段代碼是 Flash 播放器,移動端瀏覽器很可能沒裝 Flash

毀與悔 回答

setter 內(nèi)部是可以異步的,但是既然是異步的,恐怕就不能在設(shè)置值之后馬上就能取得出來,如果用 setTimeout 來模擬異步調(diào)用,

const target = {
    data: "init",

    get test() {
        return this.data;
    },

    set test(data) {
        setTimeout(() => this.data = data, 1000);
    }
};

console.log("first", target.test);
target.test = "hello";
console.log("second", target.test);
setTimeout(() => console.log("third", target.test), 1000);

輸出結(jié)果是

first init
second init
third hello

說明 setter 是起作用了的,但是要等待異步調(diào)用結(jié)速,具體時間并不能確定。如果想確定,可以使用 Callback 或者 Promise,而且不是用 setter,而是用 set 函數(shù),比如(使用 async 語法)

const target = {
    // ....

    async setTest(data) {
        return new Promise(resolve => {
            setTimeout(() => {
                this.data = data;
                resolve();
            }, 1000);
        });
    }
};

(async () => {
    await target.setTest("hi");
    console.log(console.log(target.test));
})();

這里的輸出就已經(jīng)等待到異步過程結(jié)束了

不討囍 回答

這和vue這種mvvm框架沒什么本質(zhì)關(guān)聯(lián),就是在瀏覽器提供的原生拖拽事件上,增加一些視圖層邏輯,這部分邏輯應(yīng)該是你想知道的東西吧?

首先簡單講你看到的元素其實(shí)是什么:

  • 虛框其實(shí)就是一個占位元素,一般叫做placeholder,它可能就是一個div,然后加一個虛框的樣式,僅此而已
  • 你拖拽的那個是一個鏡像元素,一般叫做mirror,它可能也是一個div或者別的什么的,然后加一個拖拽效果的樣式

首先先將這兩個元素放到頁面上,同時把它們隱藏。

之后就要利用瀏覽器的拖拽事件(drag, dragStart, dragOver之類的,這個詳細(xì)的去MDN上查)來抽象拖拽過程,以從右往左舉例:

  • 在右側(cè)拖拽事件開始時,隱藏你要拖的那個元素,同時顯示mirror
  • 之后拖拽的過程,會響應(yīng)鼠標(biāo)移動的事件,動態(tài)的移動mirror的位置
  • 之后懸浮到左邊的容器元素上了,會響應(yīng)dragOver事件,這時候顯示左框中的placeholder
  • 之后拖拽完成時,會觸發(fā)drop相關(guān)的事件,隱藏mirror和placeholder,同時將真正的右側(cè)元素移動到左邊

我這個描述是偏向dom層的,你用vue來做,可以把移動元素的邏輯抽象到數(shù)據(jù)層來完成。

不過話說回來,這種拖拽其實(shí)是比較常用的交互,因此存在大量現(xiàn)成的工具庫,我給你推薦一個draggable。有興趣可以看看這些庫的源碼,基本和上面我所描述的差不多,唯一的區(qū)別在于,實(shí)現(xiàn)拖拽過程的事件可能不是利用drag/drop這類的,而是利用mouseup/mouseover/mousedown等鼠標(biāo)事件模擬的,但是大同小異。

同時關(guān)于拖拽的整個過程是一個event-driven的業(yè)務(wù)場景,因此使用一些響應(yīng)式的輔助手段會更好,比如rxjs,同時處理多個異步事件,我會經(jīng)常把自己寫懵逼。

北城荒 回答

你這是分開在開發(fā)工具的console里運(yùn)行的吧,一起寫好一同運(yùn)行

孤星 回答

phantomjs 是瀏覽器,只不過沒有 GUI 界面,瀏覽器可以搞 html,css 和 JavaScript。怎么能說是動態(tài)把 js 翻譯成 html 呢?只能說他可以解釋和執(zhí)行 JavaScript 啊,可以渲染 html 和 css。

若相惜 回答

不考慮低版本瀏覽器的情況下,這個純CSS3可以實(shí)現(xiàn),紅心的部分,一個從小到大不斷循環(huán)的動畫。參考下css3動畫

青裙 回答

eMMM,我沒有遇到這類問題

夢一場 回答

另外想了一個辦法,去掉表頭, 然后自己寫一個表頭,成功解決! 繞道處理成功showHeader={false}

凹凸曼 回答

外面放一個占位框 寬高固定的,動畫效果在里面實(shí)現(xiàn),完全消失后,再把占位框去掉

冷眸 回答

newList 直接可以直接用對象嗎, 你這個嵌套的filter肯定是錯的,變量名也不規(guī)范,看著真難受。

const data = [
    { oname: "第一個", newList: [ {test: "測試"}, {newName: "籃球", checkOne: true} ] },
    { oname: "第一個", newList: [ {test: "測試"}, {newName: "籃球", checkOne: false} ] }
];

let select = data.filter(function (item) {
    return item.newList.some(function(value) {
        return value.checkOne === true;
    })
});

console.log(select);

分頁器組件 有一個 current 屬性,用于控制當(dāng)前頁
在搜索之后成功的回調(diào)中將 current 屬性置為 1,就會回到第一頁了

妖妖 回答

你把 /*/*IE/7/6*/*/ 去掉就好了。。。
細(xì)心、格式、、、、