我們的迅睿cms使用的是php語法,可以通過預設函數直接獲取后臺中的數據。通常我們是在html中直接循環使用,但是有時候js中也需要用到這些數據,但是在js中不能直接使用html中的賦值方法,之前有很多次用其他方法解決了,這次有時間,所以記錄下這次在js中使用php數組的過程。

在html中,我直接使用 {php $field = dr_field_options(256);}給$field賦值,并通過loop循環這個field數組,把該數組的內容循環出來。
得到了如下內容。

但是,我如果在js中也使用這個數組,直接var xxx = $field卻是不可以的,報錯沒有$field,因為js把這個field認為了是另一個值,但是之前卻沒有聲明。

正確的使用方法如上,應該先在js外,聲明這個變量,然后在js內,把整個php全部賦值,因為在php中數據格式和js中有些許差別,所以這里我們使用json_encode轉為js能使用的格式,這里轉義出來是一個對象。然后我們就能正常使用php中的數據了。
---------
后補
我發現上文在使用的時候也不是很嚴謹,也會出現報錯的情況,報錯:在這個模板系統中,您不能在同一個作用域內混合使用PHP標簽(<?php ?>)和模板語法({$variable})。所以以下為更嚴謹的寫法,直接在php賦值的時候使用json_encode,然后在js把JSON字符串轉為對象。

上一篇: uniapp怎么組件間傳值的兩種方法
下一篇: vue中實現瀑布流
)
)
)