legend2---開發日志13(layer_mobile的content傳入dom 出現【object object】如何解決)
一、總結
一句話總結:
layer_mobile.content只能為string類型
方法一:將dom轉成字符串,比如$('$aa').html(),這樣的缺點是丟失那些事件
方法二:外面套上script標簽,並且把id加在script標簽上,因為script標簽會被執行
layer.js+script標簽:script標簽不會被顯示,並且會被執行,還不會導致兩份相同id,所以非常適合做content的內容
來源:調用layer mobile里面的layer.js發現彈出層變成了[object object]?? - Fly社區
推薦使用這種寫法
<script id="formbox" type="text/html">
你的那些 HTML
</script>
使用的時候
content: $('#formbox').html()
1、layer.js的content里除了傳入普通的html內容,還可以指定DOM么?
可以:DOM最好該元素要存放在body最外層,否則可能被其它的相對元素所影響
layer.open({ type: 1, content: $('#id') //這里content是一個DOM,注意:最好該元素要存放在body最外層,否則可能被其它的相對元素所影響 });
2、layer.js獲取dom類型的content時使用id取dom的問題是什么,比如content:$('#aa')?
id重復:因為你這樣導致了id重復了,相當於你克隆了一份dom又插入到body里面了
3、layer.js非常適合script標簽做content(不重復id,script標簽不顯示,會執行),那么對script標簽有什么要求?
type="text/html"
<script id="hero_stone_layer{$vo.th_id}" type="text/html">
4、vue常見的綁定id的寫法(需要拼接的情況)?
在v-bind中字符串直接拼接vue變量就好
<script v-bind:id="'hero_stone_layer'+school_hero_stone.th_id" type="text/html"></script>
5、script標簽中的中的vue統治的標簽的綁定屬性v-bind應該怎么寫(比如img的src)?
不用加v-bind:script本身就表示執行,不加v-bind的話vue照樣可以執行
<script v-bind:id="'hero_stone_layer'+school_hero_stone.th_id" type="text/html">
<img src="{{school_hero_stone.th_picture}}" alt="User Image">
</script>
6、layer.js和boostrap的模態框 modal.js的偏好設置(在vue和bootstrap環境下)?
layer.js對vue的雙向綁定支持不是很好,所以可以試試model.js
7、裝備的特性如何實現?
方法一:在英雄特性表中增加字段:是否是裝備特性(或者直接裝備id),方便判斷是否為裝備增加的特性
方法二:直接加在英雄的特性之上(推薦):拆卸裝備的時候從上面減去就好(這樣好在以前的基礎上編程,以前的代碼不用改)
8、php查錯的快速方法?
斷點輸出法逐步確定出錯位置:dump('111111');die;
9、編程中, 在傳數據給頁面端時臨時加的變量(比如裝備類型等級的中文)適合和數據表(裝備表)中字段同一前綴(以e_做前綴)么?
不適合:保持數據庫字段前綴的唯一性,以便后續選出數據字段更新數據庫
10、下面這行代碼錯在哪?
主表是school_equipment,你卻在里面找裝備表的id
|||-begin
$equipment=db('school_equipment')->alias('se')->join('equipment e','se.se_e_id=e.e_id','LEFT')->join('template_equipment te','e.e_te_id=te.te_id','LEFT')->find($e_id);
|||-end
二、內容在總結中