因?yàn)槭菍懺趘ue文件里。
會(huì)先經(jīng)過(guò)vue-loader編譯成 require('logo.png'),然后在經(jīng)過(guò)file-loader。
算了你自己看文檔吧。
不知道是不是key的問(wèn)題,第一個(gè)key最好用id,官網(wǎng)也說(shuō)了,除非你沒(méi)有可表唯一的屬性才用index,然后你第二個(gè)key字段我不知道是什么值,無(wú)法分析
我也遇到了這個(gè)問(wèn)題,原來(lái)echarts 是3.x版本的,為使用dataset升級(jí)到了4.x,但發(fā)現(xiàn)不出圖,只顯示 X、Y坐標(biāo),我的原因是使用webpack單獨(dú)打包了第三方的包到一個(gè)單獨(dú)的文件
# webpack.config.js
...
new AddAssetHtmlPlugin({
filepath: require.resolve('../html/vendors/vendor.dll.js'),
hash: false,
includeSourcemap: false,
}),
...
在升級(jí)之后并沒(méi)有去更新這個(gè)文件,導(dǎo)致使用的其實(shí)還是3.x的echart。
是不是core-site.xml 里的fs.defaultFS配置錯(cuò)了,貼配置出來(lái)看一下
答案
用element-ui table里這個(gè)參數(shù)
reserve-selection -->僅對(duì) type=selection 的列有效,類型為 Boolean,為 true 則代表會(huì)保留之前數(shù)據(jù)的選項(xiàng),需要配合 Table 的 clearSelection 方法使用。
配合row-key -->行數(shù)據(jù)的 Key,用來(lái)優(yōu)化 Table 的渲染;在使用 reserve-selection 功能的情況下,該屬性是必填的。類型為 String 時(shí),支持多層訪問(wèn):user.info.id,但不支持 user.info[0].id,此種情況請(qǐng)使用 Function。
<el-table border v-loading="loading"
ref="multipleTable"
:data="orderTable"
:row-key="getRowKeys"
@selection-change="handleSelectionChange">
<el-table-column type="selection" :reserve-selection="true" align="center" width="55"></el-table-column>
<el-table-column property="orderid" label="訂單號(hào)" align="center"></el-table-column>
<el-table-column property="product_data" label="訂單名稱" align="center"></el-table-column>
<el-table-column property="totalprice" label="訂單金額" align="center"></el-table-column>
<el-table-column property="remaining_payments" label="剩余還款" align="center"></el-table-column>
<el-table-column property="stage_price" label="本期應(yīng)還" align="center"></el-table-column>
<el-table-column property="number" label="剩余期數(shù)" align="center"></el-table-column>
</el-table>
<!--分頁(yè)-->
<div class="pagination">
<el-pagination
background
@current-change ="handleCurrentChange"
layout="prev, pager, next"
:page-size="pagesize"
:total="total_number">
</el-pagination>
</div>
data:function(){
return{
// 獲取row的key值
getRowKeys(row) {
return row.orderid;
},
}
}
methods:
//選擇籌款訂單
handleSelectionChange(rows) {
this.multipleSelection = rows;
this.select_order_number = this.multipleSelection.length;
this.select_orderId = [];
if (rows) {
rows.forEach(row => {
if (row) {
this.select_orderId.push(row.orderid);
}
});
}
}mudules 文件夾刪了 重新裝 最好用cnpm
還有 你是不是在項(xiàng)目文件夾外面npm run dev ?
css 貌似無(wú)法直接實(shí)現(xiàn)這個(gè)需求??梢杂蒙蟡s來(lái)獲取子元素的高度然后再對(duì)父元素進(jìn)行修改。
html
<div class="a"><div class="b">sss</div></div>
css
.a{ width: 200px; position: relative; background-color: red;}
.b{position: absolute;height: 50px;}
js
var one = document.querySelector(".b").offsetHeight;
document.querySelector(".a").style.height = one+'px';
使用 case when 語(yǔ)句
SELECT
case
when day =6 then pic_1
when day =9 then pic_2
else ‘’
end
from table
示例:
mysql> select * from user;
+----+------+-------+-------+
| id | day | pic_1 | pic_2 |
+----+------+-------+-------+
| 1 | 6 | a | b |
| 2 | 9 | a | b |
+----+------+-------+-------+
2 rows in set (0.00 sec)
mysql> SELECT id, day, case when day=6 then pic_1 when day=9 then pic_2 else pic_1 end as pic from user;
+----+------+------+
| id | day | pic |
+----+------+------+
| 1 | 6 | a |
| 2 | 9 | b |
+----+------+------+
2 rows in set (0.00 sec)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è)成功了,上面效果圖就說(shuō)明了。但是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)頁(yè)面的js文件。common.js 和 store.js里面都引用了.vue文件,導(dǎo)致2個(gè)加入了vue.esm.js這文件,相當(dāng)于存在2個(gè)Vue對(duì)象,所有我就嘗試了我提問(wèn)時(shí)寫的2種寫法(保證common.js 和 store.js使用的是同一個(gè)Vue對(duì)象),依然差強(qiáng)人意,需要各位幫忙看看如何解決這問(wèn)題。
當(dāng)然改為單頁(yè)面,單文件入口就不會(huì)出現(xiàn)以上問(wèn)題。因項(xiàng)目需求只能做多頁(yè)面,多入口。
補(bǔ)充:
目前已經(jīng)解決問(wèn)題經(jīng)NextStack的提點(diǎn),使用CommonChunkPlugin成功解決問(wèn)題,代碼修改如下:
// 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)頁(yè)面的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把公用代碼給提取出來(lái)。
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
可以參考這個(gè)回答,調(diào)用 WaitForMultipleObjects API
HttpURLConnection 有個(gè) setReadTimeout 的方法可以實(shí)現(xiàn)你的需求。
public static String doGet(String HTTP_URL, Object object) {
BufferedReader reader = null;
String result = null;
StringBuffer httpUrl = new StringBuffer(HTTP_URL);
StringBuffer sbf = new StringBuffer();
HttpURLConnection connection = null;
try {
System.out.println(httpUrl.toString());
URL url = new URL(httpUrl.toString());
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
// 請(qǐng)求方式設(shè)置 POST
connection.setRequestMethod("GET");
// 設(shè)置維持長(zhǎng)連接
connection.setRequestProperty("Connection", "Keep-Alive");
// 設(shè)置文件字符集:
connection.setRequestProperty("Charset", "UTF-8");
//根據(jù)需求設(shè)置讀超時(shí)的時(shí)間
connection.setReadTimeout(50);
// 開始連接請(qǐng)求
connection.connect();
OutputStream out = connection.getOutputStream();
out.write((object.toString()).getBytes());
out.flush();
out.close();
if (connection.getResponseCode() == 200) {
System.out.println("連接成功,傳送數(shù)據(jù)...");
InputStream is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sbf.append(strRead);
sbf.append("\r\n");
}
reader.close();
result = sbf.toString();
if (result.equals("1")) {
return "1";
} else if(result.equals("0")) {
return "0";
} else {
return result;
}
} else {
System.out.println("連接失敗,錯(cuò)誤代碼:" + connection.getResponseCode());
}
} catch (Exception e) {
if(e instanceof SocketTimeoutException) {
if("Read timed out".equals(e.getMessage()) && connection != null && connection.getDoOutput()) {
//TODO 只請(qǐng)求不需要響應(yīng)
return null;
}
}
e.printStackTrace();
}
return null;
}
這段代碼寫得沒(méi)問(wèn)題嗎 能運(yùn)行?
box在函數(shù)作用域內(nèi)是未定義的 直接拿來(lái)用報(bào)錯(cuò)了吧
經(jīng)過(guò)一天零一夜的研究終于解決了 我發(fā)現(xiàn) 微信公眾號(hào)支付的時(shí)候 ios 跟 安卓的支付授權(quán)目錄不一樣!??!然后安卓測(cè)試的時(shí)候 日志上就出各種缺少參數(shù)啊什么的。其實(shí)就是安卓測(cè)試的時(shí)候支付授權(quán)目錄不對(duì),把注意力放到這,這個(gè)問(wèn)題就能解決
$this->display('Index:getCode')方法 寫完整
已解決,props單向傳遞,從父到子就可以實(shí)現(xiàn)了
npm的安裝就是覆蓋形式的,比如說(shuō)現(xiàn)在npm3.x,npm install -g npm@latest升級(jí)完了以后就是npm6.x 了。npm3.x就不會(huì)存在了。
另外一個(gè)思路:
先遍歷,給getTableData這個(gè)數(shù)組每一項(xiàng)添加一個(gè)isShowDetail: false
<div class="popup-msg-more" @click="msgShow(list,index)">查看詳情</div>
<div class="msg-box" v-show="list.isShowDetail">
methods:{
msgShow (list,index) {
list.isShowDetail = !list.isShowDetail;
},
}
可以保證每一條數(shù)據(jù)的詳情顯示與關(guān)閉狀態(tài)都是獨(dú)立的,
這樣按鈕那里也可以通過(guò)list.isShowDetail的狀態(tài)來(lái)顯示不同的文字
注意看文檔 on-change不止在添加文件的時(shí)候觸發(fā) 文件狀態(tài)改變時(shí)的鉤子,添加文件、上傳成功和上傳失敗時(shí)都會(huì)被調(diào)用
你寫個(gè)判斷只在添加文件的時(shí)候push就好了
北大青鳥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)師。