Я хочу вызвать контроллер AngularJS для запроса базы данных в одном файле и использовать значения в другом - PullRequest
0 голосов
/ 11 мая 2018

Я нахожусь в середине школьного проекта, где я читаю координаты x и y из базы данных и использую эти данные, а Two.JS рисуют серию столов и стульев поверх изображения карты на веб-странице.Я использовал ng-repeat, чтобы подтвердить, что я получаю нужные данные, но не могу найти какой-либо способ использовать их в моем скрипте рисования.

Мой HTML вызывает скрипт рисования в div (map и tablesnchairsрасположены абсолютно так, что таблицы и стулья рисуются поверх изображения карты):

<div id="map">
    <img src="images/map.png" id="mapimg">
</div>
<div id="tablesnchairs"><script src="js/draw.js"></script></div>

<table id="test" ng-controller="TableController as tblCtrl" >
    <tr ng-repeat="table in tblCtrl.tablelist">
        <td>{{table.xco}}</td>
        <td>{{table.yco}}</td>
    </tr>
</table>

getData.js:

   "use strict";
var app = angular.module('SeatingApp', ['ngResource', 'ngStorage']);


app.factory('chairDAO', function ($resource){
    return $resource('/api/chair/:chairid');
});

app.factory('tableDAO', function ($resource){
    return $resource('/api/tables/:tableid');
});


app.controller('TableController', function(tableDAO, chairDAO, $scope){
    this.tablelist = tableDAO.query();
    this.chairslist = chairDAO.query();   

    $scope.tablelist = this.tablelist;
    $scope.chairslist = this.chairslist;

});

draw.js:

/* global Two */



    var elem = document.getElementById("tablesnchairs");


    var myApp = angular.module('myApp', []);

    var t = myApp.controller('myController', ['tablelist', function ($scope) {
        this.tablelist = $scope.tablelist;

    }]);

    var two = new Two({
    type: Two.Types.canvas,
    fullscreen: false
}).appendTo(elem);

        angular.forEach(t.tablelist, function(value){
            var temp = two.makeRectangle(value.xco, value.yco, 5, 5);
        });

        two.update();

Есть ли простой способ сделать это?

...