Как я могу передать переменную $ scope как часть templateUrl компонента в angularJs 1.5? - PullRequest
0 голосов
/ 16 января 2020

У меня есть следующий код:

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

myModule.controller('newController', ['$scope', function($scope) {
                   $scope.id = '1234';
}])
.component('myModalX', {
         templateUrl: `./partials/locationY?id=${$scope.id}`,
         controller: 'newController',
         controllerAs: 'vm'
});

Это не работает. Как я могу убедиться, что могу передать $scope.id как часть templateUrl?

1 Ответ

0 голосов
/ 18 января 2020

Обновление: я разобрался, как это сделать. Я создал службу, в которой есть метод установки, принимающий нужную область в качестве параметра, и метод получения, который обращается к переменной набора в службе.

Таким образом, я могу получить доступ к переменной в области используя метод получения в сервисе.

myModule.controller('newController', ['$scope', 'myScopeAcessingService', function($scope, myScopeAcessingService) {
                   $scope.id = '1234';
                   myScopeAcessingService.setValue($scope);

}])
.component('myModalX', {
         templateUrl: function(myScopeAcessingService) {

           const theIdIneed = myScopeAcessingService.getValue();

           return `./partials/locationY?id=${theIdIneed}`
         },
         controller: 'newController',
         controllerAs: 'vm'
});
...