Относительно нового в мир AngularJS, наслаждаясь его до сих пор.
Однако, я борюсь с моей попыткой перебрать записи в моей БД и визуализации <canvas>
для каждого из них.AngularJS нг-повтор: Динамически визуализации/связывание холста внутри цикла
Скажите это мои данные (укороченный для краткости):
var paintings = [
{ "_id" : ObjectId("31c75"), "data" : "0,0,0,0" },
{ "_id" : ObjectId("deadb"), "data" : "1,3,0,255" }
];
, который загружается в контроллер на заводе:
app.factory('paintings', ['$http', function($http) {
var o = {
paintings: []
};
o.getAll = function() {
return $http.get('/paintings')
.success(function(data) {
angular.copy(data, o.paintings);
});
}
return o;
}]);
Я хотел перебрать каждую запись и построить a <canvas>
, затем передать этот элемент <canvas>
другому объекту (Grid
) с data
в качестве аргумента, который создает контекст и рисует на нем <canvas>
на основе данных.
Простой, не так ли? К сожалению, я не понимаю, как это сделать, и у меня нет языка, на котором можно задать более острый вопрос.
Я думаю, что проблемы существуют в том, что я использую встроенные шаблоны, которые еще не отображаются.
Это, как правило, подход, который я сейчас пытаюсь:
HTML:
<div ng-repeat="painting in paintings" some-directive-maybe="bindCanvas(painting._id)">
<canvas id="{{ painting._id }}" width="800" height="400"></canvas>
</div>
JS:
app.controller('PaintingCtrl', [
'$scope',
function($scope) {
$scope.bindCanvas(canvasId) {
var grid = new Grid(document.getElementById(canvasId));
// Have fun with grid
}
}
]);
Помоги мне, StackOverflow. У вас есть единственная надежда ...
ли ваши картины объект, определенный в области видимости, как $ scope.paintings? –
@RaviTeja: Я считаю, что он должен быть скопирован в $ scope на фабрике, включенной в мое недавнее редактирование. – asgaines
Я обновил свой ответ. Проверьте это. –