這個(gè)你需要用一些標(biāo)志量來記錄和處理(這樣比較簡(jiǎn)單),否則就遍歷獲取所有video對(duì)象,在播放一個(gè)的時(shí)候先停止所有的,再開始播放點(diǎn)擊的(類似tab切換的處理)
@holahole ,F(xiàn)orge Viewer不是做模型設(shè)計(jì)的平臺(tái),只有靜態(tài)的數(shù)據(jù),而且原始模型轉(zhuǎn)來的數(shù)據(jù)是只讀的,所以沒有辦法通過修改屬性達(dá)到效果。
你只能自己旋轉(zhuǎn)門這個(gè)對(duì)象,達(dá)到你要的效果。當(dāng)然,這并不會(huì)影響這個(gè)屬性displayName = 'Door Closed' ,比如,旋轉(zhuǎn)門打開,但屬性仍舊是closed。
而這些旋轉(zhuǎn)變化,如上所述,轉(zhuǎn)換來的數(shù)據(jù)是只讀的,所以你還需要記錄下這些旋轉(zhuǎn)狀態(tài),等下一次加載的時(shí)候再執(zhí)行一遍,得到上次的對(duì)象狀態(tài)。
新版微信用的騰訊瀏覽器的X5內(nèi)核,沒問題,舊版微信沒有小程序功能,不需要操心
小程序的js執(zhí)行引擎應(yīng)該是獨(dú)立JavascriptCore,不受系統(tǒng)影響(安卓),應(yīng)該是沒有問題的
https://developers.weixin.qq....
沒看懂你想要表達(dá)什么意思,如果你只是想單獨(dú)給每個(gè)圖片設(shè)置寬度,比如img1 width=20px img2 width=20px,那你就采用xsf_1991的寫法,
如果你想給每張圖片設(shè)置不同的寬度,即每張圖片的width不是手動(dòng)設(shè)置,你可以在xsf_1991的基礎(chǔ)上接著寫targetImg.style.width= Math.random()*100 + 'px';
Number.isNaN都沒有的話,用babel轉(zhuǎn)一下或者換個(gè)瀏覽器吧。
Mutation函數(shù)只接受(state,data) 如果data中有多個(gè)數(shù)據(jù),需要在傳入時(shí)用對(duì)象包裹 如({id:xxx,
name:xxx})
初始設(shè)置select的默認(rèn)選項(xiàng)如下:
[(ngModel)]="";https://developers.weixin.qq....
調(diào)用一次就刷新一次,并且只能使用一次
echarts 配置項(xiàng)里 series的 itemStyle
ws 是websocket 的協(xié)議標(biāo)志,還有wss 是websocket 加一個(gè)安全套接字,
blob 是二進(jìn)制的說明傳輸類型,
有啥不懂查這個(gè)https://developer.mozilla.org...
可以使用過濾器
在mounted和watch里監(jiān)聽路由都要寫
watch: {
$route: {
handler: function (val, oldVal) {
this.addSecret()
}
}
},看各個(gè)平臺(tái),一般都有現(xiàn)成的庫(kù),我最近用的 平臺(tái)是react-native
庫(kù)名iconv
`const getBookChapter = function(chapter, book) {
return new Promise((resolve, reject) => {
axios({
method: 'get',
url: chapter.url,
responseType: 'arraybuffer'
}).then(res => {
let dom = iconv.decode(new Buffer(res.data), book.source.encoding)
resolve(catchBookChapterContent(dom, book.source))
})
})
}`
<view class='type_list {{excessiveCo==true? "excessiveCo" : insufficientCo==true? "insufficientCo":""}}'>
看看文檔唄,實(shí)在不行,用笨辦法,全部讀出來,字符串拼接,再寫回去,沒用過的,半小時(shí)也能搞定。無非是readFile, writeFile幾個(gè)方法。
https://segmentfault.com/q/10...
能自己動(dòng)手搜索一下嗎
mudules 文件夾刪了 重新裝 最好用cnpm
還有 你是不是在項(xiàng)目文件夾外面npm run dev ?
App.vue:
<template>
<div>
<popup v-model="visible">
我是popup組件
</popup>
</div>
</template>
<script>
export default {
data () {
return {
visible: true
}
},
created () {
this.$toast('啦啦啦!我是賣報(bào)的小當(dāng)家。')
}
}
</script>
<style lang="scss" rel="stylesheet/scss" type="text/scss">
</style>
運(yùn)行的效果:
popup全局組件已經(jīng)注冊(cè)成功了,上面效果圖就說明了。但是toast里面引用就報(bào)錯(cuò)。
編譯出的html文件:
...
<script type="text/javascript" src="/static/js/common.js?f56345f"></script>
<script type="text/javascript" src="/static/js/store.js?f56345f"></script>
...
common.js是公共js文件,store.js是對(duì)應(yīng)頁面的js文件。common.js 和 store.js里面都引用了.vue文件,導(dǎo)致2個(gè)加入了vue.esm.js這文件,相當(dāng)于存在2個(gè)Vue對(duì)象,所有我就嘗試了我提問時(shí)寫的2種寫法(保證common.js 和 store.js使用的是同一個(gè)Vue對(duì)象),依然差強(qiáng)人意,需要各位幫忙看看如何解決這問題。
當(dāng)然改為單頁面,單文件入口就不會(huì)出現(xiàn)以上問題。因項(xiàng)目需求只能做多頁面,多入口。
補(bǔ)充:
目前已經(jīng)解決問題經(jīng)NextStack的提點(diǎn),使用CommonChunkPlugin成功解決問題,代碼修改如下:
// common.js
import Toast from './plugins/toast'
import Popup from './components/popup'
export default function (Vue) {
Vue.use(Toast)
Vue.use(Popup)
}
// 對(duì)應(yīng)頁面的js
import Vue from 'vue'
import install from '../../common'
import App from './App.vue'
install(Vue)
new Vue({
template: '<App/>',
components: {App}
}).$mount('#app')
代碼如上修改,并且webpack設(shè)置里移除common這個(gè)入口。這樣只會(huì)出現(xiàn)一個(gè)vue對(duì)象,然后使用CommonChunkPlugin把公用代碼給提取出來。
webpack設(shè)置:
const fs = require('fs')
const path = require('path')
const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const config = require('../package.json')
/**
* 獲取絕對(duì)路徑
* @param dir
* @returns {string|*}
*/
function resolve (dir) {
return path.join(process.cwd(), dir)
}
/**
* vue css加載器
* @returns {
* {css: *, scss: *}
* }
*/
function cssLoaders () {
const cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV !== 'development',
sourceMap: false
}
}
function generateLoaders (loader, loaderOptions) {
const loaders = [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: false
})
})
}
if (process.env.NODE_ENV !== 'development') {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
return {
css: generateLoaders(),
scss: generateLoaders('sass')
}
}
const pages = fs.readdirSync(resolve('src/pages'))
module.exports = function ({plugins, htmlPluginOptions}) {
const htmlPlugins = []
const entrys = {
// 'common': './src/common.js'
}
for (const name of pages) {
const entry = `./src/pages/${name}/index.js`
entrys[name] = [entry]
if (process.env.NODE_ENV === 'development') entrys[name].push('./build/dev-client')
htmlPlugins.push(new HtmlWebpackPlugin(Object.assign({
filename: process.env.NODE_ENV === 'development' ? name + '.html' : resolve(config.id + '/' + name + '.html'),
template: `src/pages/${name}/index.html`,
inject: true,
// chunks: ['common', name],
chunks: ['common.js', name],
hash: false,
chunksSortMode (a, b) {
return a.id < b.id ? 1 : -1
},
config: {
env: process.env.NODE_ENV
}
}, htmlPluginOptions)))
}
const chunks = Object.values(entrys)
htmlPlugins.push(
new webpack.optimize.CommonsChunkPlugin({
name: 'vendors',
chunks: chunks,
minChunks: chunks.length
})
// new webpack.optimize.CommonsChunkPlugin({
// name: 'common',
// chunks: ['common']
// })
)
return {
entry: entrys,
output: {
path: resolve(config.id),
filename: 'static/js/[name].js?[hash:7]',
publicPath: `/`,
chunkFilename: 'static/js/[id].[hash].js'
},
resolve: {
extensions: ['.vue', '.js'],
alias: {
'@': resolve('public/src'),
'vue$': 'vue/dist/vue.esm.js'
}
},
devtool: process.env.NODE_ENV !== 'development' ? false : '#cheap-module-eval-source-map',
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: cssLoaders()
}
},
{
test: /\.css$/,
use: process.env.NODE_ENV !== 'development' ? ExtractTextPlugin.extract('css-loader') : ['style-loader', 'css-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src')]
},
{
test: /\.(png|jpe?g|gif|svg|woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: `[path][name].[ext]?[hash:7]`
}
}
]
},
// plugins: htmlPlugins.concat(plugins)
plugins: htmlPlugins.concat(plugins).concat([new webpack.optimize.CommonsChunkPlugin('common.js')])
}
}
被注釋掉的代碼,是原配置。已經(jīng)成功解決了,非常感謝NextStack
新版vue在webpack.dev.conf.js中配置。
北大青鳥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)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。