img {
image-rendering: -moz-crisp-edges; /* Firefox */
image-rendering: -o-crisp-edges; /* Opera */
image-rendering: -webkit-optimize-contrast; /* Webkit (non-standard naming) */
image-rendering: crisp-edges;
-ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */
}大量更新業(yè)務(wù)操作是在一定情況下偶發(fā)還是經(jīng)常操作的
如果是偶發(fā)建議停業(yè)務(wù)操作
如果是經(jīng)常操作考慮業(yè)務(wù)上是否可以做及時(shí)處理或分發(fā)消息異步處理
上面的直接操作沒(méi)有時(shí)間限定,你可以起一個(gè)進(jìn)程,每隔一定時(shí)間處理一定的數(shù)量,比如1分鐘處理100個(gè)更新,然后sleep(10)迭代處理,
$limit = 0;
$offset = 100;
while(true) {
$data = getLists($limit);
// operate
doit($data);
sleep(10);
// log
$limit += $offset;
}修改屬性面板有幾種方法,
var propertyPanel = _viewer.getPropertyPanel(true)
propertyPanel.setTitle('My Panel')
propertyPanel.addProperty('test', 'john', 'new cat', null)
propertyPanel.setVisible(true)
AutodeskNamespace('Viewing.ClassroomTrainning')
Viewing.ClassroomTrainning.AdnPropertyPanel = function (viewer) {
var _panel = this
var _viewer = viewer
var _selectedNodeId = ''
Autodesk.Viewing.Extensions.ViewerPropertyPanel.call(
_panel,
_viewer)
_panel.setNodeProperties = function (nodeId) {
Autodesk.Viewing.Extensions.ViewerPropertyPanel.prototype.setNodeProperties.call(
_panel,
nodeId)
_selectedNodeId = nodeId
}
_panel.setProperties = function (properties) {
Autodesk.Viewing.Extensions.ViewerPropertyPanel.prototype.setProperties.call(
_panel, properties);
var insTree = _viewer.model.getInstanceTree();
var nodeName = insTree.getNodeName(_selectedNodeId);
$.ajax({
url: '/db/price/'+nodeName,
type: 'GET',
success: function (data) {
console.log('successfull get price: ' + data)
_panel.addProperty(
'Node Price', // property name
data, // property value
'Database Information') // group name
}
})
}
}
Viewing.ClassroomTrainning.AdnPropertyPanel.prototype =
Object.create(
Autodesk.Viewing.Extensions.ViewerPropertyPanel.prototype)
Viewing.ClassroomTrainning.AdnPropertyPanel.prototype.constructor =
Viewing.ClassroomTrainning.AdnPropertyPanel
然后,將重載后的屬性面板設(shè)置為當(dāng)前的屬性面板,修改模型結(jié)構(gòu)的點(diǎn)擊事件來(lái)使用自定義的屬性面板:
Viewing.ClassroomTrainning.Extension.prototype.onGeometryLoaded = function () {
var panel = new Viewing.ClassroomTrainning.AdnPropertyPanel(_viewer)
_viewer.setPropertyPanel(panel)
// Add onClick event for Model Structure Panel
var structruePanel = _viewer.modelstructure
structruePanel.onClick = _self.onModelStructureClick
}
Viewing.ClassroomTrainning.Extension.prototype.onModelStructureClick = function (node, e) {
var propertyPanel = _viewer.getPropertyPanel(true)
if (propertyPanel && propertyPanel.isVisible()) {
propertyPanel.setNodeProperties(node)
}
}
詳細(xì)可參考代碼 https://github.com/JohnOnSoft...
Error: listen EADDRINUSE 127.0.0.1:3000
EADDRINUSE = Error Address in Use 端口被占用了吧。。你查查吧
map.js使用的是命名導(dǎo)出,而App.js使用的是默認(rèn)導(dǎo)入,兩者統(tǒng)一一下就好了
map.js使用默認(rèn)導(dǎo)出:
export dafault ListItems
或者App.js使用命名導(dǎo)入
import { ListItems } from './map'
==================
使用方式:
<div className="App">
<Test/>
<Clock/>
<Toggle/>
<Page/>
{ ListItems }
//這個(gè)地方應(yīng)該如何調(diào)用這個(gè)組件????????
</div>預(yù)渲染可否?通過(guò)一些批處理工具把模板適當(dāng)合併。
Stream是針對(duì)字節(jié)的,Writer/Reader是針對(duì)字符的
其實(shí)Writer/Reader的本質(zhì)都是InputStreamReader或者OutputStreamWriter
其實(shí)就是包裝了一層,更方便使用,有的多一些比如readLine這種功能
不指定編碼的情況下會(huì)用默認(rèn)編碼,比如系統(tǒng)默認(rèn)UTF8,不指定編碼直接讀GBK的文件是會(huì)亂碼的
親測(cè)完美解決 并且限制除數(shù)字以外一切字符的輸入
computed 計(jì)算屬性的 getter setter 是很有用的屬性
<input type=text v-model="value2">
data() {
return {
value1: "10"
};
},
computed: {
value2: {
get() {
var value = this.value1.replace(/[^\d]+/g, '');
if(value<=0){
return 0
}else if(value>=100){
return 100
}else{
return value
}
},
set(val) {
this.value1 = val;
}
}
},你在vuex 中的 state 是如何定義的是否有初始值
如果你的state = {searchPoint: {}, .....}
設(shè)置count時(shí)使用state.searchPoint.count = *
vue是監(jiān)聽不到count的變化的
你需要初始化時(shí)設(shè)置state = {searchPoint: {count: ''}, .....}
或者給count赴值時(shí)改變searchPoint的指向,
如state.searchPoint = {count: **, ....}
或者state.searchPoint=Object.assign({}, state.searchPoint, {count: *})
誰(shuí)教你把 script 寫到 body 外面的?
vuex里的?
element-ui form表單的驗(yàn)證只要保證 你綁定的:model + prop 能在data里找到對(duì)應(yīng)的值就能搜索到,然后驗(yàn)證你的validator了
比如你:model="a"
那么驗(yàn)證b1:{c: ''}的prop就應(yīng)該是prop="b1.c"
第一種是虛擬子類,注冊(cè)之后不會(huì)從父類繼承任何方法或?qū)傩?所以叫做虛擬子類
第二種是繼承,繼承就會(huì)繼承父類的東西
JS 原生庫(kù)里面沒(méi)有priority queue, 這個(gè)得自己實(shí)現(xiàn)。說(shuō)著找library。
chrome就是這樣的啊,有什么不對(duì)嗎?
Menu組件有個(gè) active-name屬性就代表著當(dāng)前那個(gè)item被選中吧
99!已經(jīng)是天文數(shù)字了吧,別說(shuō)int,估計(jì)long都表示不了
因?yàn)檫@是一個(gè)假的docx文件,可以試試:http://www.xdocin.com
最簡(jiǎn)單的方式,在最后面加'<br/>'.
libraryTarget: 'commonjs'
把這句刪掉就行了
這句的作用是把打包的文件以commonjs的規(guī)范導(dǎo)出,如果在瀏覽器運(yùn)行不需要寫這個(gè)
babel-polyfill用正確的姿勢(shì)安裝之后,引用方式有三種:
1.require("babel-polyfill");
2.import "babel-polyfill";
3.module.exports = {
entry: ["babel-polyfill", "./app/js"]
};
注:第三種方法適用于使用webpack構(gòu)建的同學(xué),加入到webpack配置文件(webpack.config.js)entry項(xiàng)中
重新執(zhí)行構(gòu)建命令,在低版本的瀏覽器中就可以正常打開頁(yè)面了。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。