angular.js - Beego 與 AngularJS的模板格式衝突,該怎麼解決?
漂亮男人
漂亮男人 2017-05-15 16:49:08
0
5
1039

我在 HTML 裡使用了 ·angularjs· 的模板,但是在beego的 Controller 中,我設定

this.TplNames = "index.html"

但是運行之後伺服器端報出的資訊如下圖:

我猜是因為 beego 用 Go 自己的模板解析了,所以找不到變數。但我把autorender=false也設定了之後,還是會顯示這個錯誤,而且前端也收不到index.html的內容了。

漂亮男人
漂亮男人

全部回覆(5)
滿天的星座

https://github.com/astaxie/beego/issues/297 這已經由作者回答了。

beego.TemplateLeft = "<<<" 
beego.TemplateRight = ">>>"
仅有的幸福

beego不懂
不過如果是模板衝突的話 改一下angular的模板比對就好了
如:

app.config ($interpolateProvider) ->
  $interpolateProvider.startSymbol '//'
  $interpolateProvider.endSymbol '//'
小葫芦

如果是在服務端報出錯誤的話,那肯定是beego解析模板的時候出錯了。 angular的模板就是純html,因為它是前端的函式庫,所以如果出錯的話,肯定實在瀏覽器的console裡報錯的。具體哪裡出錯了,你要把程式碼拿出來大家分析分析。

習慣沉默

template套件裡面有個Delims函數,可能是你需要的,他可以改變GO解析模板檔案的識別碼

我想大声告诉你

golang 的模板語法和 angularJS 的模板語法很接近,所以很容易報錯,兩個解決方案的建議。

  • 將首頁中的angularJS 的模板內容換成golang 的模板標籤,例如{{ user.name }} 換成{{ _user.name }},然後使用golang 將{{ _user.name }} 渲染成'{ { user.name }}'。這種方法可以解決問題,但是教導繁瑣。

  • 減少首頁的內容,盡可能在設計的時候弄到對應的路由模板裡去。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板