我使用angular作爲前端,Python-Django作爲後端。我使用TemplateResponse()
來呈現Python中的HTML,然後將此響應發送到角度作爲響應,我將其存儲在一些$scope variable
中。這裏重要的是我在PYthon中渲染的HTML包括Css,Js,HTML + Angular代碼。例如,以角度重新呈現內容
<div ng-repeat='val in values'>
<span>{{ val }}</span>
</div>
現在Python將會使這個代碼(包括更多,但是這是一個樣品),併發送響應角(我還會發送此值從Python數據),其中我將這些信息存儲在$範圍。
$scope.html_response = response sent from Python
$scope.values = values data from python (it will be a object so angular can loop over this easily)
我擁有在HTML中使用的角度爲HTMl + Angular Scope的所有內容。 現在最主要的是如何將它們綁定在一起,以便HTML獲取角度範圍並循環數據。爲此,我正在使用角度指令。
HTML:
<div dynamic="html_response"></div>
角指令:
app.directive('dynamic', function ($compile) {
return {
restrict: 'A',
replace: true,
link: function (scope, ele, attrs) {
scope.$watch(attrs.dynamic, function(html) {
ele.html(html);
$compile(ele.contents())(scope);
});
}
};
});
這個指令是幹什麼的角度範圍的結合與HTML我。
一切都在爲我工作,直到我有一個問題。正如我上面解釋的,我先呈現HTML然後綁定角度範圍。但在我的情況下(一個js滑塊),我需要首先呈現角度,然後呈現HTML(js代碼)意味着滑塊js必須呈現在角度之後,以便滑塊已經可以顯示數據。
但我無法首先從python端渲染角度數據。我必須發送HTML響應給角度,無論它包括什麼。
是他們的任何其他方法或我可以做的角度結束,以便我可以解決我的問題。
當您打印'{{val}}'是來自angular或django的值嗎? – Gocht
@Gocht它的角度,我知道兩個hv相同的syntex和多數民衆贊成在我已經改變角syntex。我實際上使用了這個syntex'{$ val $}',但是我寫了'{{val}}',這樣angular dev就不會混淆我正在使用錯誤的syntex。 – saf