2014-07-17 37 views
2

在我的應用程序中,我在後端使用NodeJS,Express,在前端使用Angular。我也使用Jade模板引擎。將玉變量分配給角

翡翠通過此代碼獲得了一個名爲「adv」的變量。

 res.render('page',{adv:result[0]}) 

在controller.js(角度)

 $scope.content = []; 

我想這樣做

 form(ng-init="content=#{adv}") 

      h5 {{"content" + content}} 

即分配該玉變量的範圍。它不工作。我可以用http.get並直接將內容角度範圍,而只是想知道是否有可能做到這一點

感謝

+0

爲什麼不說'$ scope.adv = result [0]'? – Mritunjay

+0

你有什麼錯誤嗎?呈現的HTML看起來像什麼? – ivarni

+0

@Mritunjay - 使用res.render('page',{$ scope.content:result [0]})給出「SyntaxError:意外的標記。」 – abhivij

回答

3

這個工作。

- var str_adv = JSON.stringify(adv) 

    form(ng-init="content = #{str_adv}") 

或者甚至(其中的getContent是在控制器定義做同樣的事情的函數)

form(ng-init="getContent(#{str_adv})") 

這兩種也解析出的字符串和存儲在所述對象在「內容」

而是直接使用

form(ng-init="content = JSON.stringify(#{adv})") 

給出相同的錯誤

看來在ng-init中分配對象是不可能的。

感謝@ivarni的關於stringify的提示

+0

這對我不起作用:(我的代碼是'ng-init =「balance =#{balance}」'。我在做什麼錯? –

+0

你也可以像這樣使用它: 'form(ng-init =「content =#{JSON.stringify(adv)}」)' – FrankWest