1. 程式人生 > >小程式中JSON檔案中全域性和子頁面的欄位window配置

小程式中JSON檔案中全域性和子頁面的欄位window配置

相信有過實際小程式開發的人,都不陌生主程式app.json和子頁面的XX.json檔案中window欄位的配置。

如果全域性都是用app.json的一個樣式,那麼你就可以忽略掉此文。但是你想個性化單獨設定各個頁面的window欄位,那麼問題來了,

你會發現:嚴格按照小程式官方的window格式來設定,就是不生效,查官方文件也沒有解決辦法,反正我是沒找到 。。。

怎麼以上問題呢,畢竟產品要求的,Google以下,發現很多人分享說,去掉子頁面的window欄位名稱,直接把屬性寫在json檔案的大括弧之間,

像這樣:

{
"navigationBarBackgroundColor":"#62b900",
"navigationBarTextStyle":"white",
"navigationBarTitleText":"我的寶貝",
"backgroundColor":"#eeeeee",
"backgroundTextStyle":"light",
"enablePullDownRefresh":false
   }

突然發現好使了,開心ing......

那麼問題結束了麼,一個優秀的產品經理又給你出主意了,這裡需要引入下第三方的圖示,發現需要再json中設定下,那麼怎麼整?window的設定還是

得加上吧,加上之後,是這樣的:

{
"usingComponents": {
"ec-canvas":"../../ec-canvas/ec-canvas"
      },
"window": {
"navigationBarBackgroundColor":"#62b900",
"navigationBarTextStyle":"white",
"navigationBarTitleText":"Echarts Demos",
"backgroundColor":"#eeeeee",
"backgroundTextStyle":"light",
"enablePullDownRefresh":false
     }
    }

這是發現又不行了,內心奔潰一萬次。。。明明是官方指定的格式嘛,為啥不行,檢查一萬次還是不行:(,跟產品商量要個性化設定了,產品當然懟回來:當然是不行滴!

後來百般嘗試無意間發現,單獨把window中的屬性值直接放到json的第一層級,是這樣的:

{
"usingComponents": {
"ec-canvas":"../../ec-canvas/ec-canvas"
      },
"navigationBarBackgroundColor":"#62b900",
"navigationBarTextStyle":"white",
"navigationBarTitleText":"Echarts Demos",
"backgroundColor":"#eeeeee",
"backgroundTextStyle":"light",
"enablePullDownRefresh":false
    }

神奇的發現,居然可以了(原來脫下馬甲就認識了,呵呵呵~~~)。

寫到這裡,雖然這個坑可能不算是很有技術含量,但是剛起步的小程式開發可能都會遇到吧,然而那些大牛有沒有文章分享出來,我只能記錄下

我的踩坑經歷分享給大家~~~~

作者

攻城獅 。小程式社群會員,堅持原創分享技術博文。