找到原因了,因為你的自定義驗證規(guī)則里沒有寫成功的回調函數(shù),加上一個
else{
callback()
}
就好了
注意stop不能省略
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box{
margin: 100px;
}
</style>
</head>
<body>
<div id="box">
<Poptip title="提示標題" content="提示內(nèi)容" v-model="visible">
<div slot="title"><i>自定義標題</i></div>
<div slot="content">
111
</div>
</Poptip>
<button @click.stop="show()" >激活</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!-- 引入Vue -->
<link rel="stylesheet" >
<!-- import iView -->
<script src="http://unpkg.com/iview/dist/iview.min.js"></script>
<script>
var vm = new Vue({
el:"#box",
data:{
visible:false
},
methods:{
show:function(e){
this.visible = true;
}
},
mounted:function(){
}
})
</script>
</body>
</html>
打開對話框時傳參:
$("#my_dialog").data("opt", opt).dialog("open")
在dialog里:
"確認": function(){
//這里想用到opt參數(shù)
var opt = $(this).data("opt");
},推薦針對 原生localStorage 的api都封裝一層,生成自己的公用模塊,這樣能擴展很多自定義功能,包括滿足你的需求,比如:
var myStorage = {
setItem(key, val, ...rest){
// do something
window.localStorage.setItem(key,val)
}
getItem(key,..rest){
// do something
return window.localStorage. getItem(key)
}
// ...其他方法
}
export default myStorage懷疑你a.base64本身就有問題,你可以打個log把dataURI的前面一部分截取出來嗎。
我有另一個想法, 是你獲取完數(shù)據(jù)后, 自己寫個 過濾函數(shù), 把該屬性 給過濾掉。
好吧,最后把讀取數(shù)據(jù)部分寫成了一個方法,在componentDidMount()和componentWillMount()里面都調用了才可以,只單獨在其中一個里面調用都無法正常顯示
你不把代碼貼出來,我們腦補來幫你改嗎
(1)Vector3是個什么坐標系下的向量呢?
Vector3是 three.js 定義的三維空間坐標系里的向量
(2)如何把它和鼠標點擊的屏幕坐標掛鉤呢?
這個問題本質是問:如何將three.js 三維坐標轉換成屏幕二維坐標
其實updateScreenPosition()函數(shù)就是將三維坐標轉換成屏幕坐標的過程,我們可以改一下這個函數(shù),使之更通用:
/**
* 將three.js三維坐標轉換成屏幕上的二維坐標
* @param THREE.Vector3 vector three.js三維坐標
* @return {x:int,y:int} 屏幕坐標
*/
function transToScreenCoord(vector) {
var screenCoord = {};
vector.project(camera); //1
screenCoord.x = Math.round((0.5 + vector.x / 2) * (canvas.width / window.devicePixelRatio)); //2
screenCoord.y = Math.round((0.5 - vector.y / 2) * (canvas.height / window.devicePixelRatio));
return screenCoord;
}
有了這個函數(shù),就可以把任意three.js三維坐標轉換成屏幕坐標。也就是實現(xiàn)了3維坐標和屏幕坐標掛鉤
接下來解釋一下這個轉換的過程:vector.project(camera) 這句的意思是,將一個三維坐標,投影到相機平面上,使之變成一個二維坐標。需要注意的是,投影得到的結果是一個標準向量(或者叫單位向量),其值是限定在[-1,1]范圍內(nèi)的。并且,這個向量是定義在以屏幕中心為原點的坐標系里的,這個坐標系和屏幕坐標系的關系,就像下圖一樣:
假如經(jīng)過投影之后的點就是上圖中的點A(0.3,0.5),屏幕坐標系是sx-s0-sy,相機平面坐標系是tx-t0-ty,坐標系的各項參數(shù)已經(jīng)標在圖上,試著求A點在屏幕坐標系中的坐標。你求一遍的話,就會理解上面這個函數(shù)的意思。
(3)如果不預先設定好這個Vector3 而是使用鼠標,而是直接傳遞event.clientX和event.clientY,該怎么處理?
處理方法就是將這個屏幕二維坐標轉three.js三維坐標,按照下面這個方法來處理:
var vector = new THREE.Vector3();
vector.x = ( event.clientX / _domElement.width ) * 2 - 1;
vector.y = - ( event.clientY / _domElement.height ) * 2 + 1;
把上面這段替換掉updateScreenPosition()函數(shù)中的:
var vector = new THREE.Vector3(50, 0, 250); // 控制annotation的位置
應該就可以了
上面兄弟說的對,你在構造器里面寫,或者當然你也可以直接調用
class A{
constructor(){
//這里可以寫this.test(),也可以不寫
}
test(){
alert(1);
}
}
var a = new A(); //創(chuàng)建實例
a.test(); //輸出為1str.replace(/(,)(?!\w)/g,'')
css的,在主流瀏覽器中試試
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{margin:0;padding:0}
.show{
text-transform: uppercase;
font-size: 84px;
line-height: 96px;
opacity: .1;
color: #fff;
width:300px;
}
#spotlight{
display: block;
width: 150px;
height: 150px;
position:absolute;
top:50px;
left:0;
opacity: 1;
overflow: hidden;
border-radius: 50%;
}
#spotlightHelper{
width: 150px;
height: 150px;
position:absolute;
top:-50px;
}
</style>
</head>
<body style="background: #0c0a15">
<div>
<div class="show">
<span>Page</span>
<span>Not</span>
<span>Found</span>
</div>
<div class="show" id="spotlight">
<div id="spotlightHelper">
<span>Page</span>
<span>Not</span>
<span>Found</span>
</div>
</div>
</div>
<script>
let sl=document.getElementById('spotlight'),
slAttr=sl.getBoundingClientRect(),
slW=slAttr.width,
slH=slAttr.height;
let slHelper=document.getElementById('spotlightHelper')
document.onmousemove=function (e) {
let curX=e.clientX-slW/2,curY=e.clientY-slH/2
sl.style.cssText=`top:${curY}px;left:${curX}px;`
slHelper.style.cssText=`top:${-curY}px;left:${-curX}px;`
}
</script>
</body>
</html>回答下:通過查資料理解
if (superClass)
Object.setPrototypeOf
? Object.setPrototypeOf(subClass, superClass)
: (subClass.__proto__ = superClass);
這段代碼是為了繼承父類的靜態(tài)屬性,一般靜態(tài)屬性會加在構造函數(shù)上而不是原型上.
rowKey: record => (text, record, index)=>{index}
這里不是已經(jīng)注冊了嗎?在哪個頁面調用組件,就在哪個頁面注冊
1.存在cookie或者localstorage
2.重新從服務器獲取
3.通過URL的參數(shù)傳遞
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。