İçinde bileşenleri içeren bir nesne var. Bu nesnelerin her biri bir dize değeri olan bir "bileşen" özelliğine sahiptir. Şimdi listeden döngü yapmak ve başvurulan bileşenlerin her birini oluşturmak istiyorum. İlmekli nesnelerin diğer özelliklerinin, bileşenler için parametreler sağlaması beklenir (aşağıdaki örnekte yer almaz).AngularJS
Benim çözümüm şimdiye kadar çalışır, ancak bir switch-case izin unsurları belirten gerektirir ve istenmeyen sarıcı elemanlarını oluşturur:
angular.module('switchExample', [])
.controller('ExampleController', ['$scope',
function($scope) {
$scope.items = [{
component: "alpha"
}, {
component: "beta"
}, {
component: "alpha"
}];
}
])
.component('alpha', {
template: "this is component alpha",
})
.component('beta', {
template: "this is component beta"
})
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
</head>
<body ng-app="switchExample">
<div ng-controller="ExampleController">
<div ng-repeat="s in items" ng-switch="s.component">
<alpha ng-switch-when="alpha"></alpha>
<beta ng-switch-when="beta"></beta>
</div>
</div>
</body>
</html>
prosedür bileşenleri içerecek şekilde bir yolu var mı dize karşılaştırma ve açık çağrının gidiş-dönüşü olmadan? Böyle
şey, belki ?:
<div ng-repeat="s in items">
<component ng-component="s.component"></component>
</div>
veya daha iyi:
<div ng-repeat="s in items" ng-component="s.component"></div>
veya alternatif:
<div ng-component="s.component for s in items"></div>
soru nedir? – svarog
Net olmadığım için üzgünüz. Sonunda soru eklendi. –
Sorunsuz bir şekilde yapacak olan 'ng-component' diye bir şey yoktur. Bu, içeriğini yeniden derleyen bir direktif olarak sonuçlanacaktır (performans cezalarından bahsetmeyeceğim). 'Dinamik yönerge' gibi bir şey arayarak yaklaşıma aşina olabilirsiniz. – estus