我使用了jQuery的Ajax去后臺查詢了一個用戶的數(shù)據(jù),頁面也接收到了該json數(shù)據(jù)。現(xiàn)在我使用vue將該數(shù)據(jù)單向綁定到bootstrap的修改用戶的模態(tài)框中,但是這個時候該模態(tài)框不能彈出了,頁面也沒有報錯。如果去掉綁定的:value="{{xxx}}"
這個東西可以彈出(全部使用jQuery操作也是可以的)。這是為什么啊?本人剛開始使用vue,這樣是不對還是其它什么原因?求高人指點。
這是代碼:
html:
<button class="btn btn-warning btn-xs" data-id="${user.id }" data-target="#updateUser"><i class="glyphicon glyphicon-edit"></i> 修改</button>
<div id="update">
<form class="form-horizontal" action="userAction!update" method="post">
<div class="modal fade" id="updateUser" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">更新用戶</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label class="control-label col-md-2">用戶名</label>
<div class="col-md-8">
<input class="form-control" placeholder="用戶名" name="user.username"
:value="{{username}}">
<input type="hidden" name="id">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2">密碼</label>
<div class="col-md-8">
<input class="form-control" type="password" placeholder="密碼"
name="user.password" :value="{{password}}">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2">年齡</label>
<div class="col-md-8">
<input class="form-control" placeholder="年齡" name="user.age" :value="{{age}}">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2">狀態(tài)</label>
<div class="col-md-8">
<label class="radio-inline"> <input type="radio"
name="user.enabled" value="true"
:checked="{{enabled=1?'checked':''}}"> 啟用
</label> <label class="radio-inline"> <input type="radio"
name="user.enabled" value="false"
:checked="{{enabled=0?'checked':''}}">
禁用
</label>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2">郵箱</label>
<div class="col-md-8">
<input class="form-control" name="user.email" placeholder="郵箱" :value="{{email}}">
</div>
</div>
</div>
<div class="modal-footer">
<button type="reset" class="btn btn-default" data-dismiss="modal">關(guān)閉</button>
<button type="submit" class="btn btn-primary">修改</button>
</div>
</div>
</div>
</div>
</form>
</div>
JS:
<script type="text/javascript">
// 全選反選
var vm = new Vue({
el: '#app',
data: {
checkAll: false
}
});
<%--修改用戶時的數(shù)據(jù)回顯--%>
$(function () {
$("[data-id]").click(function () {
var id = $(this).data('id');
var target = $(this).data("target");
$.ajax({
url: 'userAction!queryOne',
data: {
'user.id': id
},
dataType: 'json',
success: function (data) {
console.log(data);
var echoData = new Vue({
el: '#update',
data: {
id: data.id,
username: data.username,
password: data.password,
email: data.email,
age: data.age,
enabled: data.enabled
}
});
$(target).modal('show');
console.log(echoData.$data);
/*$(target).on('shown.bs.modal', function () {
// 彈出modal之前進行數(shù)據(jù)回顯
var $input = $("div#updateUser :input[name='user." + key + "']");
for (key in data) {
if (key == 'enabled') {
if (data[key] == 1)
$($input[0]).prop('checked', true);
else
$($input[1]).prop('checked', true);
}
$input.val(data[key]);
}
})*/
}
})
});
//刪除選中
$("[data-function]").click(function () {
var ids = [];
$("tbody :checkbox:checked").each(function () {
ids.push($(this).val())
});
var params = $.param({'ids': ids}, true);
$.ajax({
url: 'userAction!deleteAll',
data: params,
success: function (data) {
if (data == "success")
window.location.href = 'userAction!queryAll'
}
})
})
})
</script>
@男左 說的挺對的。
推薦直接使用vue-resource或者axios,
vue-resouce直接mian.js里引入,然后vue.use(vueresource);
然后就直接可以通過this.$http.post()
等方法來使用了。
一:bootstrap中要點擊button出現(xiàn)模態(tài)框要有2個屬性,一個是data-target="#id"(#id為模態(tài)框id),另一個是data-toggle="modal",樓主代碼中就缺這個屬性
二、vue自帶有2種與后臺交互方式,一個是vue-resource,一個是axios 樓主代碼中用了jquery,vue框架本身不提倡DOM操作 看看:http://www.jb51.net/article/1...
代碼中有點不倫不類了
北大青鳥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
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(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)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(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)師。