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

鍍金池/ 問答/ HTML問答
我不懂 回答

router.js

// router用history
const appRouter = {
  mode: "history",
  routes: [
    {
      path: "/list",
      name: "list",
      component: List,
      meta: {
        keepAlive: true //不刷新
      }
    }
  ]
}

App.vue入口文件添加keep-alive

<template>
   <div id="app">
      <keep-alive>
         <router-view v-if="$route.meta.keepAlive"></router-view>
      </keep-alive>
      <router-view v-if="!$route.meta.keepAlive"></router-view>
   </div>
</template>

我記得上面就可以實(shí)現(xiàn)了,如果不可以那把下面加上試試我是這么實(shí)現(xiàn)的

router.js主要代碼(也可以放到main.js)

import { getScrollTop, setScrollTop } from "@/utils/mixin";
let routerList = [];
router.beforeEach((to, from, next) => {
  //返回上一級(jí)瀏覽位置
  let position = getScrollTop();
  let currentRouterIndex = routerList.findIndex(e => {
    return e.path === from.fullPath;
  });

  if (currentRouterIndex != -1) {
    routerList[currentRouterIndex].position = position;
  } else {
    routerList.push({
      path: from.fullPath,
      position: position
    });
  }
});

router.afterEach((to, from, next) => {

  let savedPosition = routerList.find(e => {
    return e.path === to.fullPath;
  });

  if (typeof savedPosition !== "undefined") {
    Vue.nextTick(() => {
      setScrollTop(savedPosition.position);
    });
  } else {
    Vue.nextTick(() => {
      setScrollTop(0);
    });
  }
});

utils/mixin.js

/*獲取到頂部的距離*/
export function getScrollTop() {
  return (
    window.pageYOffset ||
    document.documentElement.scrollTop ||
    document.body.scrollTop
  );
}
/*設(shè)置距離*/
export function setScrollTop(value) {
  window.scrollTo(0, value);
}
風(fēng)畔 回答

應(yīng)該是this.$emit(eventName,arg);是不是不能像你那樣寫,可以this.$emit("select-house", [houseData, houseId]);
接受selectHouse(data) {

  this.agreeForm.houseName  = data[0];
  this.selectHouseId=data[1]
  console.log(this.agreeForm.houseName)
}
尋仙 回答

在app.json中,添加:

{
    window:{
        "backgroundColor": "#ffffff",
    }
}
短嘆 回答
 for ( x of myemrList) {
    
       arr.push(myemrList[x].hospital_id);
 
          
}
毀憶 回答

這是qq推廣,示例代碼這里
然后應(yīng)該要設(shè)置qq號(hào)允許陌生人進(jìn)行臨時(shí)會(huì)話

陌璃 回答

(1) 要使用正確的對(duì)象類型

這里不能用Mesh,因?yàn)檫@里geometry的點(diǎn)數(shù)不滿足Mesh的規(guī)范,圖形是渲染不出來的,Mesh是由小三角面構(gòu)成,頂點(diǎn)數(shù)必須是3的倍數(shù)。所以,這里應(yīng)該用THREE.Line

將:

allLineMesh=new THREE.Mesh(allLine,new THREE.MeshBasicMaterial({color:0x000000,side:THREE.DoubleSide}))

改成:

allLineMesh=new THREE.Line(allLine,new THREE.MeshBasicMaterial({color:0x000000,side:THREE.DoubleSide}))

你會(huì)發(fā)現(xiàn)有圖像出來了,但只有一條直線,下面講這個(gè)問題。

(2)對(duì)對(duì)象使用變換之后,要手動(dòng)更新對(duì)象變換矩陣

在three.js中,考慮到性能,框架在做變換的時(shí)候不會(huì)自動(dòng)更新變換矩陣(其實(shí)還有很多東西都不會(huì)自動(dòng)更新,可以參考文檔里面定義的xxxNeedsUpdate,computeXXX,updateXXX之類的屬性),所以,如果你對(duì)對(duì)象做了變換之后要用到對(duì)象的矩陣,那么你首先需要更新對(duì)象的變換矩陣,可以使用Object3D.updateMatrix()方法。

所以,像下面這種寫法是不能看到geometry有任何改變的:

var line = new THREE.Line( geometry, new THREE.LineBasicMaterial( { color: 0x000000, opacity: 0.2 } ) );
line.position.z = ( i * 50 ) - 500; // 這里做了變換,但是沒更新變換矩陣
allLine.merge(line.geometry,line.matrix)//使用原始的變換矩陣,于是對(duì)象的變換并沒有應(yīng)用到geometry上

可以改成:

var line = new THREE.Line( geometry, new THREE.LineBasicMaterial( { color: 0x000000, opacity: 0.2 } ) );
line.position.z = ( i * 50 ) - 500;
line.updateMatrix(); // 加了這句
allLine.merge(line.geometry,line.matrix)

現(xiàn)在可以看到圖像了,但是你會(huì)發(fā)現(xiàn)圖像很奇怪:

圖片描述

這是什么鬼?為什么有那么多交叉線?

其實(shí)這和Line類型的繪制策略有關(guān),Line是把vertices的點(diǎn)一個(gè)一個(gè)連起來的,比如vertices里有四個(gè)點(diǎn)[A,B,C,D],那么Line在畫的時(shí)候,就是A-->B-->C--D,而你想的可能是A-->B,C-->D,簡(jiǎn)單驗(yàn)證一下,使用下面的函數(shù):

            function initObject(){
                var material = new THREE.LineBasicMaterial({
                    color: 0x0000ff
                });
                var geometry = new THREE.Geometry();
                geometry.vertices.push(
                    new THREE.Vector3( -500, 0, 0 ),
                    new THREE.Vector3( 500, 0, 0 ),
                    new THREE.Vector3( 0, 0, -500 ),
                    new THREE.Vector3( 0, 0, 500 )
                );
                var line = new THREE.Line( geometry, material );
                scene.add( line );
            }

運(yùn)行的結(jié)果如下圖:

圖片描述

確實(shí)是A-->B-->C--D這樣連的

(3)利用吸附算法使中間連線吸附到邊緣

對(duì)于Line的A-->B-->C--D這種畫法我們是沒辦法改變,但是,在這個(gè)例子中,我們可以人為的將B-->C邊吸附到邊緣。比如有個(gè)上面四個(gè)點(diǎn)的坐標(biāo)如下:

A:[1,0,0]
B:[-1,0,0]
C:[0,0,1]
D:[0,0,-1]

我們可以人為的插一個(gè)點(diǎn)E:
A:[1,0,0]
B:[-1,0,0]
E:[-1,0,1]
C:[0,0,1]
D:[0,0,-1]
使得B-->C由斜線變成了沿著邊緣走的斜線:

圖片描述

吸附算法如下:

 // 吸附算法
            function adsorb(geometry,compares){
                var vertices =  geometry.vertices;
                var cdt1 = compares[0];
                var cdt2 = compares[1];
                for (var i = 0 ; i < vertices.length-1; i++) {
                    var vertice = vertices[i];
                    var nextVertice = vertices[i+1];
                    if(Math.round(vertice[cdt1]) !== Math.round(nextVertice[cdt1])
                        && Math.round(vertice[cdt2]) !== Math.round(nextVertice[cdt2])){ // 差異超過兩個(gè)維度
                        var vector = new THREE.Vector3();
                        vector[cdt1] = vertice[cdt1];
                        vector[cdt2] = nextVertice[cdt2];
                        vertices.splice(i+1, 0,vector); // 插入一個(gè)點(diǎn)
                        i++;
                    }
                }
                geometry.vertices = vertices;
            }

將吸附算法加入到創(chuàng)建過程中:

 function initObject() {
                var geometry = new THREE.Geometry();
                var allLine=new THREE.Geometry();
                geometry.vertices.push( new THREE.Vector3( - 500, 0, 0 ) );
                geometry.vertices.push( new THREE.Vector3( 500, 0, 0 ) );
                for ( var i = 0; i <= 20; i ++ ) {
                    var line = new THREE.Line( geometry, new THREE.LineBasicMaterial( { color: 0x000000, opacity: 0.2 } ) );
                    line.position.z = ( i * 50 ) - 500;
                    line.updateMatrix();
                    allLine.merge(line.geometry,line.matrix)
                    var line = new THREE.Line( geometry, new THREE.LineBasicMaterial( { color: 0x000000, opacity: 0.2 } ) );
                    line.position.x = ( i * 50 ) - 500;
                    line.rotation.y = 90 * Math.PI / 180;
                    line.updateMatrix();
                    allLine.merge(line.geometry,line.matrix)
                }
                adsorb(allLine,["x","z"]);  // 添加這一行
                allLine.verticesNeedUpdate = true;
                allLineMesh=new THREE.Line(allLine,new THREE.MeshBasicMaterial({color:0x000000,side:THREE.DoubleSide}))
                scene.add( allLineMesh );
            }

這樣看起來就正確了

孤酒 回答

已經(jīng)解決了,寫法沒錯(cuò),應(yīng)用錯(cuò)DOM結(jié)構(gòu)了,由于樣式覆蓋,導(dǎo)致效果沒出來

呆萌傻 回答

現(xiàn)行的數(shù)據(jù)結(jié)構(gòu)是一個(gè)數(shù)組,可以對(duì)這個(gè)數(shù)組進(jìn)行循環(huán),相同的區(qū)的item存入一個(gè)數(shù)組,數(shù)據(jù)結(jié)構(gòu)由一個(gè)一層數(shù)組,變成一個(gè)兩層的數(shù)組,然后可以在頁(yè)面中顯示

祉小皓 回答

.如果報(bào)錯(cuò)是[Vue warn]: Cannot find element: #root,那么你就要在 index.vue 中加上
<div id="root"> </div>

拽很帥 回答

打印點(diǎn)3跟打印點(diǎn)4是異步的,打印點(diǎn)4先打印,那時(shí)候還沒拿到數(shù)據(jù),打印點(diǎn)3后來拿到數(shù)據(jù)了,就渲染到頁(yè)面上了。。??梢钥纯磒romise的運(yùn)行順序,可參考這個(gè)鏈接描述

款爺 回答

這是個(gè)bug.

解決方案如下:

const win = new electron.BrowserWindow({
    width: 600,
    height: 400,
    show: false
})
win.once('ready-to-show', () => {
    win.webContents.setZoomFactor(1.0)
    win.show()
})
離夢(mèng) 回答

(press)="function()"

莓森 回答

前端做的話,可以實(shí)現(xiàn)下載'這兒',打印的話,直接 print函數(shù)可以做到,但是分頁(yè)后肯定打印不到分頁(yè)之后的數(shù)據(jù)了。

心癌 回答

建議不要使用數(shù)組來儲(chǔ)存數(shù)據(jù),其實(shí)我猜想你的本意是想要一個(gè)dom類的數(shù)據(jù)類型,那何不用對(duì)象來操作呢,直接對(duì)每個(gè)字符串進(jìn)行操作,轉(zhuǎn)成一個(gè)類似dom的數(shù)組,方法思路也現(xiàn)成,就是dom解析。

墨沫 回答

transition需要觸發(fā)時(shí)機(jī),比如一個(gè)div你想要他transition,可以通過點(diǎn)擊這個(gè)div,然后給這個(gè)div的css屬性里面增加一個(gè)transform: translateY(1000rpx),這樣div就會(huì)在你點(diǎn)擊之后從原始位置運(yùn)動(dòng)到1000rpx,總結(jié)起來就是需要某個(gè)觸發(fā)時(shí)機(jī),如果你想不通過任何觸發(fā)事件去實(shí)現(xiàn)你想要的translateY(1000rpx)的效果,可以使用動(dòng)畫。

      animation: animate 0.4s ease-out;
      然后指明這個(gè)動(dòng)畫:
      @keyframes animate {
      from {
        transform: translateX(0px);
      }
      to {
        transform: translateX(500px);
      }
    }
夢(mèng)囈 回答
  1. 圖片上傳前壓縮可以借助Cavas,然后再轉(zhuǎn)成Base64存儲(chǔ)在你Editor中。 具體方法可以參考 《前端圖片壓縮上傳(純js的質(zhì)量壓縮,非長(zhǎng)寬壓縮)》 中的 canvasDataURL方法
  2. 關(guān)于Emoji亂碼問題,請(qǐng)參考 《推送emoji表情亂碼的解決方法》
  3. 視頻類的我沒有用過,不過問題不大,原理都是將視頻地址寫到是個(gè)視頻播放器中,然后貼到Editor中。
雨蝶 回答

2秒你這。。??赡苁且韵聠栴}:
1、設(shè)備不行
2、切換動(dòng)畫時(shí)間過長(zhǎng)或動(dòng)畫效果不行