weex踩坑記錄

weex框架樣式問題--我暫時使用最基本的樣式css,weex前端開發的話web端會顯示各類的html標籤。寫出的樣式也都會顯示的很好,可是在app端的話,就沒有很好的兼容性,只是支持文檔中的一些標籤,樣式也是隻支持sing-class。javascript

weex的請求框架steam,是weex的自帶model,在處理post的時間要對傳入的數據進行處理,否則不會出現你想要的數據。處理方式:css

let http,jsonType = ''
if (WXEnvironment.platform === 'Web') {
     http = http://yapi.youximao.cn/mock/141
    jsonType = 'json'
} else {
    http =  'http://102.108.50.100:8880/'
    jsonType = 'json'
}
let stream = weex.requireModule('stream')
const methods = {
        toParams(obj) {
            var param = ""
            for(const name in obj) {
                if(typeof obj[name] != 'function') {
                    param += "&" + name + "=" + encodeURI(obj[name])
                }
            }
            return param.substring(1)
        },
        GET (api, callback) {
            return stream.fetch({
                method: 'GET',
                type: 'json',
                url: http + api
            }, callback)
        },
        POST (api, data, callback) {
            return stream.fetch({
                method: 'POST',
                headers:{'Content-Type': 'application/x-www-form-urlencoded'},
                type: jsonType,
                body: this.toParams(data),
                url: http + api
            }, callback)
        }
}
export default methods

碰到了一個很坑的問題,network獲取正常數據可是在打印在控制檯的時間data爲null。這個問題應該是後端返回數據有問題,我修改了下mock的數據皆能夠了。html

weex剛剛進入頁面的話要執行的函數,要寫在鉤子函數前端

beforeMount

裏面這樣纔會執行,寫在created裏面 在app端是不執行的。java

    created () {
        window.initFontSize(750)
    },
    beforeMount () {
        this.getAllInitData()
    },

 weex發出請求在web端會出現跨域問題。mock的話是不會的,我放到了開發環境就出現了跨域問題,後端大牛是設置的能夠跨域的。第一,修改hosts文件。能夠自行百度,不少牛人幫忙解答,再者就是瀏覽器的安全機制保護,我是chorme調試的,把chorme瀏覽器設置成能夠跨域的瀏覽器。web

 

出現上面的命令就能夠進行在web端調試。json

碰到問題你們能夠一塊兒討論,你們一塊兒踩坑。。472027267後端

相關文章
相關標籤/搜索