Javascript 如何将$scope变量作为组件的一部分传递';angularJs 1.5中的模板URL?
我有以下代码:Javascript 如何将$scope变量作为组件的一部分传递';angularJs 1.5中的模板URL?,javascript,angularjs,routes,angularjs-scope,Javascript,Angularjs,Routes,Angularjs Scope,我有以下代码: var myModule = angular.module('myModule', []); myModule.controller('newController', ['$scope', function($scope) { $scope.id = '1234'; }]) .component('myModalX', { templateUrl: `./partials/locationY?id=${$scope.id}
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的一部分进行传递?更新:我找到了方法。
我创建了一个服务,该服务具有一个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'
});
这回答了你的问题吗?不,我使用Symfony进行路由,而不是ui路由器。