beego的前端幾乎是另一種語言。一些迴圈、判斷,不細看文件真的做不出來。
貓哥按:盡量在controller裡把送出去的資料規整好了,盡量別再模板裡處理,會省心很多的。
0. beego的view模板語法規則:
beego前端(view)統一使用了 } 作為左右標籤,沒有其他的標籤符號。
使用 . 來訪問當前位置的上下文;
使用 $ 來引用當前模板根級的上下文;
使用 $var 來訪問建立的變數。
1. 迴圈 range … end
可以接受slice, map, channel。貌似map、slice混在一起的比較多,甚至有時候會是乙個json串的。
例子1(slice):
controller送來的資料:
[map[contnum:lvl-2015-001 id:2] map[contnum:lvl-2015-002 id:10] map[id:3 contnum:lvl-2015-003] map[contnum:lvl-2015-004 id:5] map[contractnum:lvl-2015-005 id:1]]
view端接受比較舒服:
}}}
例子2(map):
controller送來的資料是乙個json串,比如:
map[data:[map[id:564b044c164d6b366f64390a name:ibm] map[id:564b044c164d6b366f64390c name:dell] map[id:564b0458164d6b366f6439c9 name:hp]]]
controller裡面最好先處理一下:
this.data["devicebrandmap"] = devicebrandmap["data"]
view裡面比例子1稍微複雜點兒:
}
}}
map是個鍵值對,沒錯吧?所以需要用兩個值接收,對吧?
例子3(更複雜的map,條件判斷):
controller送來的乙個json串,比如:
map[data:[map[email: fax: name:xx網 province:北京市 provinceid:1 statid:0 type: _id:564b04cb164d6b366f644280 website: updateuser:管理員 district:朝陽區 phone:01088888888 updatetime:2015-10-10 10:10:10 addr: districtid:9 note: postcode: typeid:1 dictkey:cmdb-dict-company id:78 dict_key:]
......]]
需要過濾,當且僅當 typeid為1的時候,取name的值。也還好說,每次加個判斷好了。
}}}
}}
2. 判斷 if ... else ... end
2.1 語法:}}
if 判斷時,pipeline 為空時,相當於判斷為 false
this.data["islogged"] = true
this.data["ishomepage"] = true
this.data["ispayed"] = false
支援巢狀的迴圈
}
} }}
}
也可以使用 else if 進行
}}}
}
本沒必要說什麼,奈何判斷語法比較「獨特」
。2.2eq / ne / lt / le / gt / ge 這些都是函式!
這類函式一般配合在 if 中使用,望文生義即可。
既然是函式,那麼用法就是 eq .var1 $var2 或者 eq .var1 .var2,總之一句話,用來比較的幾個變數要放在 這六個函式的後面。否則,報錯沒商量!
例子4(簡單比較):
}
// something your function likes...
}// something your function likes...
}// something your function like...
}
看到了吧?數字(整數、浮點數)都可以直接比較值;字串必須用雙引號!必須用雙引號!必須用雙引號!重要的事情說三遍!!!否則報錯沒商量。
2.3 特殊的eq函式
eq 和其他函式不一樣的地方是,支援多個引數,和下面的邏輯判斷相同
arg1==arg2 || arg1==arg3 || arg1==arg4 ...
記住:只有eq乙個函式可以這樣!其它五個函式都不可以。
與 if 一起使用
}}
如果想處理乙個邏輯——不是a也不是b也不是c,能用ne嗎?絕對不行!
例子4(not和eq):
}}}
}}
not只能否定乙個變數或者表示式,所以eq 函式和函式入口引數要用括號括起來。漢語字串也是可以被支援的。 Beego模板 迴圈和判斷幾個例子
beego模板 迴圈和判斷幾個例子 beego的前端幾乎是另一種語言。一些迴圈 判斷,不細看文件真的做不出來。0.beego的view模板語法規則 beego前端 view 統一使用了 作為左右標籤,沒有其他的標籤符號。使用 來訪問當前位置的上下文 使用 來引用當前模板根級的上下文 使用 var 來...
Python 判斷和迴圈
python中 是有意義的,乙個製表符或者4個空格代表一行 段 aaaaaaaaaa bbbbbbbbbbb bbbbbbbbbbb ccccccccc ccccccccc bbbbbbbbbbb bbbbbbbbbbb上面共有三個 塊,包含關係如下,c行被b行包含,b 塊有被a包含。age 12 ...
C 判斷和迴圈
using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 0903 判斷和迴圈 日 n s int n conver...