鍍金池/ 問答/HTML/ 使用 jquery 動態(tài)生成的 html,vue 的data 的值沒有綁定上去,

使用 jquery 動態(tài)生成的 html,vue 的data 的值沒有綁定上去,請問怎么綁定綁定?

//            html
<div id="app">
  <div id="c"></div>
</div>
<script id="tpl" type="text/template">
<div style="display: inline-block;">
    <input type="radio" name="payway" v-model="payway" value="wx"/>
  <input type="radio" name="payway" v-model="payway" value="zfb"/>
</div>
</script>
//            js
new Vue({
  el: "#app",
  data: {
    payway: "wx"
  },
  mounted: function(){
    $("#c").html($("#tpl").html())
  }
})

clipboard.png
radio沒有被選中(綁定data)

clipboard.png


clipboard.png

  • 生成的東西沒有綁定上去值,怎么實現(xiàn) jquery 生成的html的就綁定上去值呢?
  • 或者不應該這樣做,而應該用組件來做?但是組件如何實現(xiàn)呢?

補充:實際上我的代碼是用了一個彈出層插件http://layer.layui.com/

layer.open({
    type: 1,
    skin: 'layui-layer-rim', //加上邊框
    area: ['500px', '500px'], //寬高
    content: $("#paytpl").html() // 這里就是<script type="text/template">中的內容,所以生成的東西就沒有綁定vue的data了
});
// content: html字符串 //這個就是彈出層的內容,它里面就要寫html代碼,也就是說不知道怎么在這個html 綁定vue的數(shù)據
回答
編輯回答
陌如玉

this.$refs.paytpl.$el.cloneNode(true) 克隆下節(jié)點不行嗎

2017年11月6日 17:52
編輯回答
只愛你

vue可以操作dom???

2017年7月27日 10:28
編輯回答
吃藕丑

你用到了動態(tài)模板,這個模板里除了標準的html部分,剩下的比如綁定和組件都不會生效,解決方法是先編譯,而且這還需要你使用的是完整版本的vue,而不是runtime版本的vue,并且要使用專門的tag,參考官方文檔中的這一段 https://vuejs.org/v2/guide/co...

不過,從你的代碼邏輯,沒看出來為什么需要使用動態(tài)模板,靜態(tài)模板不可以嗎?

2018年8月18日 09:30