1.父傳子
1)在父組件的子組建中綁定
:message = "這是傳過去的值"
2) 在子組建中定義穿過來的值
props:['message'] // 要與父組件中綁定的名字一樣
3)調(diào)用就直接用this.
2.子傳父
在子組件中定義傳過去的值
this.$emit('childOne', 0)
this.$emit('傳過去的名', 傳過去的值)
在父組件中要為子組建綁定事件 注 兩個名字要一樣
<v-login @childOne="thisChild"></v-login>
在定義事件 此時的type就是從子組件中傳過來的值
thisChild: function (type) {
this.isShow = type
},
代碼沒問題,我覺得圖片應該是出來了,只不過位置不對,你可以這樣試試
<div v-if="bg" :style="{'background':'url('+bg+')center center;'}"></div>
bigBg的寬高提前設置好
下面函數(shù)用法 findVal("WebSite", 3, obj) 其中的obj為你查找的對象,返回的是一個數(shù)組,包含滿足條件的所有值。
/**
*keyname: 屬性名稱
*layer: 定位在哪一層
*obj: 待查找對象
*cLayer: 當前所在層,使用者無需關(guān)心,遞歸用
*/
function findVal(keyname, layer, obj, cLayer) {
var result = [];
var currentLayer = cLayer || 1;
var objType = typeof obj;
if(currentLayer > layer
|| objType === "string"
|| objType === "number"
|| obj === null
|| obj === undefined) {
return result;
}
for(var key in obj) {
if(key == keyname && currentLayer == layer) {
result.push(obj[key]);
}
var f = find(keyname, layer, obj[key], currentLayer + 1);
if(f && f.length > 0) {
result.push(...f);
}
}
return result;
}兩種方式:
document.addEventListener("click",function(e) {
// 檢查事件源e.targe
if(e.target && xxxx) {
// 真正的處理過程在這里
console.log("你的處理事件函數(shù)");
}
});
每次重新渲染前,注銷事件,渲染后,重新綁定,下面就是一個偽代碼,意會。
var Event = {
init(){
// 綁定你的各種dom元素事件
dom1.addEventListener('click', () => {});
dom2.addEventListener('click', () => {});
...
},
destroy(){
// 銷毀你的各種事件
dom1.removeEventListener('click', () => {});
dom2.removeEventListener('click', () => {});
...
}
}
Event.destroy()
window.document.body.innerHTML = newHtml
Event.init()找到解決方法了,當onDragOver的時候,讓fakeMask變成100%*100%,否則不顯示
onDragOver(event){
this.setState({
DragOver:true,
})
event.preventDefault()
}
createChild(){
if(!this.state.children) return;
var tmp = [];
for (let j = 0; j < this.state.children.length; j++) {
if (this.state.children[j].props.dragable) {
tmp.push(<div className={style.ChildBox} key={'dropBox'+j} id={j}
draggable={true} //設置可拖拽
onDragStart={this.onDragStart.bind(this,j)} // 設置拖動開始Fun
onDragEnd={this.onDragEnd}
onDragOver={this.onDragOver}
>
<div className={[style.fakeMask,this.state.DragOver?style.actmask:''].join(' ')} id={j}></div>
{this.state.children[j]}
</div>)
} else {
tmp.push(<div className={style.ChildBox} key={'dropBox'+j} id={j}><div className={style.fakeMask} id={j}></div>{this.state.children[j]}</div>)
}
}
return tmp
}底部的彈框加個回調(diào)監(jiān)聽touchmove(高版本chrome注意第三個參數(shù),否則會報錯),然后preventDefault()或者阻止冒泡
我的理解是,圖片本身就是一個元素,你直接訪問圖片的地址時,是可以展示這個圖片的,不需要依賴頁面。
但是js不一樣,js必須依賴瀏覽器頁面這樣一個執(zhí)行環(huán)境,才能執(zhí)行,你瀏覽器直接訪問一個js,得到的其實只是一堆字符串而已。
img和script本身就是不一樣的。所以瀏覽器才會有這種特性:img就能直接請求,script是添加到頁面才會請求。
自己的理解,不一定對。
確實如 @Randal 所說的思路,使用一個一個函數(shù)來生成fill的值,比如上面的例子,我們作如下修改,就可以實現(xiàn)不同柱不同顏色了:
var layer = svg.selectAll(".stack")
.data(dataStackLayout)
.enter().append("g")
.attr("class", "stack")
// 注釋掉下面代碼
/* .style("fill", function (d, i) {
return color(i);
}); */
layer.selectAll("rect")
.data(function (d) {
return d;
})
.enter().append("rect")
.attr("x", function (d) {
return x(d.x);
})
.attr("y", function (d) {
return y(d.y + d.y0);
})
.attr("height", function (d) {
return y(d.y0) - y(d.y + d.y0);
})
.attr("width", x.rangeBand())
// 增加下面代碼
.style("fill", function (d, i, j) { // 三個參數(shù)分別是:d 數(shù)據(jù),i 當前rect的序號,j 當前rect 的父元素的序號
return color((j * 2) + i);
});
不在站點下的需要在vue.config.js中加上baseUrl: './',默認是/
個人覺得是因為EventEmitter的任何實例,都是可以執(zhí)行event.prototype.init,如果已經(jīng)存在的一個event執(zhí)行了init方法,就需要經(jīng)過IF判斷
好像可以導入.js文件
仔細看文檔,此組件提供了pageChanged方法,監(jiān)聽頁面的變化,示例如下:
<pagination [totalItems]="66" [(ngModel)]="currentPage" (pageChanged)="pageChanged($event)"></pagination>
pageChanged(event: any): void {
this.page = event.page;
}1.overflow: hidden的作用是解決子元素有浮動元素超出父元素或子元素超出父元素高度的時候顯示完整子元素
2.第二段代碼隱藏,#index_b_hero屬性為空,那么title_img的定位就會找main元素,但是main元素的寬高都為0,所以不顯示
自己代碼寫錯了 已解決
樓上可以當成正解
給你來個簡潔版本
let arr=[],json = {2:'aa',3:'bb',4:'cc'}
Object.keys(json).forEach(item=>{arr.push({m:item,n:json[item]})})那么從性能上來講模板引擎和原生通過循環(huán)拼接字符串相比誰更高一點呢?
一樣的。
目前有什么好的輕量級的模板引擎嗎?
nunjucks https://mozilla.github.io/nun...
另外, Angular, React ,這些幾乎都用不著再引入模板。
tasks長度不一致應該是打印、賦值順序的問題
console.log(ge);
ge.loadTasks(tasks);
另外,你上述代碼調(diào)用ge.loadTasks(tasks);,被賦值的只是ge實例的tasks,構(gòu)造函數(shù)Generator的tasks還是[]。
如果想讓Generator構(gòu)造函數(shù)所創(chuàng)建的對象擁有tasks值,應該將tasks列表放到構(gòu)造函數(shù)里
function Generator() {
this.tasks = [
{id: 1, name: '張三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}
];
}題目中的『要求驗證數(shù)組中的數(shù)字,不小于55且大于7是對的,反之錯的』是不是寫錯了?不小于 55 的數(shù)字是一定大于 7 的。
根據(jù)你的測試用例,我想題目的意思應該是『數(shù)組的每一位都是一個 2 位數(shù)組,對于這些每一個數(shù)組,驗證其第一個數(shù)字不小于 55 且第二個數(shù)字大于 7』。
this 是『調(diào)用方法的主體』比如:
var obj = {
whoAmI: function () {
console.log(this)
}
}
obj.whoAmI() // 打印出 obj 本身
this 無關(guān),在本題中不應使用 this
解答此題你應該了解如下兩個知識:
.map() 方法的用法簡單講下:
.map() 方法接受一個函數(shù)作為參數(shù),比如你的 check(),對于數(shù)組中的每一個值,都會調(diào)用 check()。你需要糾正的是,在 check() 里如何拿到數(shù)組中當前的值?
事實上,.map() 在調(diào)用 check() 時,會把當前的值作為參數(shù)傳遞進去,也就是 check(currentValue)。所以要在 check() 中獲取當前的值,只需取第一個參數(shù)即可:
function check (value) {
(value[0] >= 55 && value[1] > 7) ? checkResult.push("Right") : checkResult.push("Wrong");
}
這樣修改你的解答就正確了。
事實上,.map() 的返回值也是一個數(shù)組。如果你的 check() 有返回值,那么 data.map(check) 的返回值是每一次 check() 返回值構(gòu)成的數(shù)組。
也就是說,correct() 可簡化為:
function correct (data) {
function check(value) {
return (value[0] >= 55 && value[1] > 7) ? 'Right' : 'Wrong';
}
return data.map(check)
}
JavaScript 相關(guān)的知識,建議你查閱一份相當權(quán)威的文檔:MDN,比如有關(guān) .map() 的介紹在這里就有。
或者你可以 Google 搜索如『array.map mdn』這樣的關(guān)鍵字,通常第一個結(jié)果就是 MDN 文檔。
希望對你有幫助,望采納。
你貼的webpack-dev-server --inline --progress --config build/webpack.dev.conf.js看起來是開發(fā)的指令,不是構(gòu)建的。
找到運行webpack()構(gòu)建的js文件。
在webpack的調(diào)用里加上process.stdout.write這塊。
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
//
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
//
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。