如何在angularJs 1.5中将$ scope变量作为组件的templateUrl的一部分传递?

问题描述 投票:0回答:1

我有以下代码:

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的一部分传递?

javascript angularjs routes angularjs-scope
1个回答
0
投票

更新:我想出了办法。我创建了一个服务,该服务具有一个setter方法,该方法接受我需要的范围作为参数,还有一个getter方法,该方法访问该服务中的set变量。

这样,我可以使用服务中的getter方法访问作用域中的变量。

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'
});
© www.soinside.com 2019 - 2024. All rights reserved.