如何在 angularJs 1.5 中将 $scope 变量作为组件的 templateUrl 的一部分传递?
How can I pass a $scope variable as part of component's templateUrl in angularJs 1.5?
我有以下代码:
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 方法访问服务中的设置变量。
这样我就可以在服务中使用 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'
});
我有以下代码:
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 方法访问服务中的设置变量。
这样我就可以在服务中使用 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'
});