vue.js dynamic create nest modal
{{txt}}
deep: {{deep}}
'use strict'
function creat_new_modal(txt, deep) {
var promise = new Promise(function (resolve, reject) {
var MyModal = Vue.extend({});
var modal = new MyModal({
ready: function () {
this.$watch('show', function (val) {
if (val === false) {
modal.$destroy(true)
}
})
},
data: {
show: true,
txt: txt,
deep: deep || 0,
},
template: '#template',
methods: {
showNew: function () {
var self = this
creat_new_modal(this.txt, this.deep + 1).then(function (value) {
self.txt = value
}, function (error) {
console.log(error)
})
},
submit: function () {
resolve(this.txt)
this.show = false
},
cancel: function () {
reject('cancel')
this.show = false
}
},
components: {
modal: VueStrap.modal
}
})
modal.$mount().$appendTo('body')
})
return promise
}
var vm = new Vue({
el: '#demo',
data: function () {
return {
txt: null,
}
},
methods: {
show: function () {
var self = this
creat_new_modal(self.txt).then(function (value) {
self.txt = value
}, function (error) {
console.log(error)
})
}
}
})
2.0
{{ txt }}
'use strict'
function creat_new_modal(txt, deep) {
var promise = new Promise(function (resolve, reject) {
var MyModal = Vue.extend({})
var modal = new MyModal({
data: {
show: true,
txt: txt,
deep: deep || 0,
},
template: '#template',
methods: {
showNew: function () {
var self = this
creat_new_modal(this.txt, this.deep + 1).then(function (value) {
self.txt = value
}, function (error) {
console.log(error)
})
},
submit: function () {
resolve(this.txt)
this.show = false
},
cancel: function () {
reject('cancel')
this.show = false
}
},
watch: {
'show': function (val) {
if (val === false) {
this.$destroy()
document.getElementById('demo').removeChild(this.$el)
}
}
}
})
// ,
var component = modal.$mount()
document.getElementById('demo').appendChild(component.$el)
})
return promise
}
var vm = new Vue({
el: '#demo',
data: function () {
return {
txt: null,
}
},
methods: {
show: function () {
var self = this
creat_new_modal(self.txt).then(function (value) {
self.txt = value
}, function (error) {
console.log(error)
})
}
}
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[백견불여일타/Vue.js] 4장 - 입력 폼 데이터 가져오기v-model 데이터 입력 select 지난 장에서는 v-bind를 이용해서 HTML 태그 속성 값을 Vue로 다루는 법을 배웠습니다. 이번에는 사용자가 입력한 데이터를 Vue로 가져오는 법에 대해 다룹니다. 웹 페...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.