Я хочу динамически загружать контент в угловое приложение.
Контент будет создаваться из HTML-шаблонов и данных, получаемых через php, загруженный асинхронно с помощью функции $ .get из jQuery.
var app = angular.module('contentApp', []);
app.directive("contentListContainer", function($compile) {
return {
link: function($scope, $element) {
//def
var templateData1;
var databaseData;
//get
var getTemp1 = $.get("/lib/templateData1.html", function(data, status) {
templateData1 = data;
});
var getData = $.get("/lib/getData.php?type=all", function(data, status) {
databaseData = JSON.parse(data);
});
//build
$.when(getTemp1, getData).then(function() {
var uiData = "";
//combine templates using database Data and build HTML DOM string
//uiData string example: "<div><div>{{var1}}</div><div>{{var2}}</div></div>"
$element.html(uiData);
$compile($element.contents())($scope);
});
}
}
});
Последняя строка DOM содержит некоторые {{}} выражения, которыми я хочу управлять с помощью углового контроллера.
app.controller('contentCtrl', function($scope) {
$scope.var1 = 5;
$scope.var2 = 10;
});
Проблема: выражения не будут скомпилированы и использованы угловым контроллером, они толькоотображается как обычный текст.