可以貼出你的數(shù)據(jù)么,因為根據(jù)報錯信息來看應(yīng)該是你的數(shù)據(jù)里面沒有 ver_list 這個屬性
原因應(yīng)該是雙重for中this的指向題
我改了下你看看
主要是吧 this.$parent 當(dāng)做一個變量來處理 ,現(xiàn)在可以達(dá)到你要的效果了
path:'/add',
component:{
data(){
return {
goods_id:'',
goods_name:'',
ver_id:'',
ver_name:'',
ver_introduction:'',
color_name:'',
goods_price:'',
ver_list1:[],
color_list:[],
$parent: this.$parent
}
},
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>小米商品管理</title>
<link rel="stylesheet" type="text/css" >
<script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js" type="text/javascript"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/vue-router/2.7.0/vue-router.min.js"></script>
<style>
.ver_box li{width: 33%;float: left;}
.border{border: 1px solid black}
</style>
</head>
<body>
<div class="container">
<h2>商品管理</h2>
<router-link to="/" class="btn btn-primary">列表</router-link>
<router-link to="/add" class="btn btn-info">添加</router-link>
<router-view></router-view>
</div>
<template id="list_box">
<div>
<table class="table table-hover">
<tr>
<th>ID</th>
<th>商品名稱</th>
<th>屬性</th>
<th>操作</th>
</tr>
<tr v-for="(info,index) in $parent.goods_list" >
<td>{{index+1}}</td>
<td>{{info.goods_name}}</td>
<td>
<!-- 加上這個就報錯-->
<p v-model="1+1"></p>
<ul v-for="(info1,index1) in $parent.ver_list">
<li>{{info1.ver_name}}</li>
</ul>
</td>
<td>
<a href="">修改</a>
</td>
</tr>
<!-- 測試,直接打印ver_list,沒問題 -->
<tr v-for="(info1,index1) in $parent.ver_list" >
<td>{{index1+1}}</td>
<td>{{info1.ver_name}}</td>
<td>
</td>
<td>
<a href="">修改</a>
</td>
</tr>
</table>
</template>
<template id="add_box">
<div>
<form action="" class="from">
<div class="form-group">
<label >商品名稱</label>
<input type="text" class="form-control" v-model="goods_name"></div>
<div class="form-group">
<label >
版本
<a @click="add_version()" class="btn btn-info">添加版本</a>
</label>
<ul class="ver_box">
<li v-for="(ver_info,index) in ver_list1">
版本{{index+1}}:
<input type="text" v-model="ver_info.ver_name">
</li>
</ul>
</div>
<div class="form-group" style="clear: both">
<input type="button" :disabled="goods_name=='' " class="btn btn-primary" value="保存" v-on:click="save()"></div>
</form>
</div>
</template>
</template>
<script type="text/javascript">
var router = new VueRouter({
routes:[
{
path:'/add',
component:{
data(){
return {
goods_id:'',
goods_name:'',
ver_id:'',
ver_name:'',
ver_introduction:'',
color_name:'',
goods_price:'',
ver_list1:[],
color_list:[],
$parent: this.$parent
}
},
methods:{
save:function () {
debugger
var goods_name = this.goods_name
var ver_list = this.ver_list1
var n=ver_list.length
this.$parent.goods_list.push({
goods_name
})
for(var i=0;n>0;i++){
console.log(ver_list[i].ver_name)
this.$parent.ver_list.push({
ver_name:ver_list[i].ver_name
})
n--
}
localStorage.setItem('goods_list',JSON.stringify(this.$parent.goods_list))
localStorage.setItem('ver_list',JSON.stringify(this.$parent.ver_list))
this.$router.push('/')
},
add_version:function () {
// 添加版本方法
this.ver_list1.push({
ver_name:'',
})
},
},
template:'#add_box'
}
},
{
path:'/',
component:{
template:'#list_box',
}
}
]
})
new Vue({
router,
el:".container",
data:{
goods_list:[],
ver_list:[]
},
created(){
debugger
this.goods_list = JSON.parse(localStorage.getItem('goods_list'))
if (this.goods_list==null) {
this.goods_list = []
}
this.ver_list = JSON.parse(localStorage.getItem('ver_list'))
if (this.ver_list==null) {
this.ver_list = []
}
console.log(this.ver_list)
},
methods:{
}
})
</script>
</body>
</html>
似乎很簡單, 可以在 這里體驗, 代碼如下:
HTML:
<input id="input-1" type="checkbox" name="input-1"/>
<label for="input-1">Label</label>
CSS:
input[type=checkbox] {
position: relative;
opacity: 0;
z-index: 2;
width: 18px;
height: 18px;
margin: 0;
+ label {
position: relative;
overflow: visible;
padding-left: 6px;
&:before, &:after {
position: absolute;
z-index: 1;
top: 50%;
left: -18px;
height: 18px;
width: 18px;
margin-top: -9px;
content: "";
border: 1px solid #000;
cursor: pointer;
}
}
&:checked + label {
&:after {
content: "?";
line-height: 18px;
font-size: 16px;
text-align: center;
}
}
}
把console的結(jié)果理解為惰性求值就可以了。console初始呈現(xiàn)的的只是打印時刻的狀態(tài)
gulp自身執(zhí)行任務(wù)是沒有順序的,建議你安裝gulp-sequence 請查看npm官網(wǎng),它是一個可以定義gulp執(zhí)行順序的插件
path路徑對應(yīng)的值就是你要跳轉(zhuǎn)的頁面對應(yīng)的路徑
所以建議:
最后,不要想走捷徑,這和彎道超車完全是兩個概念。必須付出足夠的努力,才有機(jī)會成功。
我解決了這個問題
原因是我在build時可以讀取到這個NODE_ENV的值,但是項目start時就改成了production,這可能是nuxt做的
所以在打包的時候,進(jìn)行判定即可
簡單點來說:“其他地方” -》 連接到server -》 $serv->push($fd,$data);
詳細(xì)點來說:在其他php-fpm的程序里,你需要tcp連接到通過swoole啟動的服務(wù),然后找到你要發(fā)送的用戶($fd),然后再發(fā)送
this.props.history.goBack()
因為重寫的目的就是以通過合并命令的方式減少文件大小啊.
到 1M 時觸發(fā)重寫, 重寫后必然大小是少于 1M 的, 按照你的情況可以推算出重寫后大小變?yōu)?.8M, 所以下一次重寫發(fā)生在1.6M時.
html中的require不需要,刪除就可以了,此時通過window.electron已經(jīng)可以用來通信了。
你可以直接把這段html提前放在template,用v-if
或v-show
指令讓它在success回調(diào)的時候顯示。
恕我直言,你要做的是多看幾遍文檔趕快改變你把vue
當(dāng)jquery
用的思想
寫的例子是有問題的.
來理一下思路:
父組件: test(10)
,通過props
單向 傳遞給子組件 --->test(10) ,message(10)
,
子組件: 每當(dāng)click
一下就message
就+1, message非對象/數(shù)組, 所以對父組件的test
沒有影響 ---> test(10), message(11)
.
子組件并觸發(fā)父組件的increment1
事件,父組件執(zhí)行了 alert(this.test);
--->test(10), message(11)
這個過程并沒有對父組件test
有任何的改變.所以還是10.
實現(xiàn)改變父組件的test可以這么做:
// 1, 傳參給父組件
add(){
this.message++;
this.$emit('increment1',this.message);
}
...
incrementTotal: function (message) {
this.test= message;
alert(this.test);
}
// 2. 直接觸發(fā)父組件的+1操作
add(){
this.message++;
this.$emit('increment1');
}
...
incrementTotal: function () {
this.test++;;
alert(this.test);
}
// dev.env.js
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
host: '0.0.0.0',
AXIOS_BASR_URL: '""',
NUM: '0'
})
可以閱讀 vue-cli 2.9.3 開發(fā)模式變量和生產(chǎn)模式變量,這一章節(jié)。
指定環(huán)境變量,就可以在生產(chǎn)模式,還是開發(fā)模式,進(jìn)行狀態(tài)判斷。
因為有倆個隊列.
一個是 microtask 隊列, 一個 macrotask 隊列.
promise 是放入 microtask 隊列的, 而 setTimeout 放入 macrotask 隊列.
先處理 microtask 隊列, microtask 隊列每次處理直到隊列為空, 接下來處理 macrotask 隊列, macrotask 每次只處理的隊列里的第一個任務(wù), 當(dāng)任務(wù)處理完后, 又會進(jìn)入到 microtask 隊列的處理. 如此反復(fù).
這個要看你使用的是哪一個準(zhǔn)確率,目前了解的TF有兩種準(zhǔn)確率:
安裝node-sass css-loader
第一.在數(shù)據(jù)源里指定每個寬度
第二. 找到表格的寬度去掉
webpack 中去掉 exclude: /node_modules/ 試試呢
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。