我们正在创建一个Umbraco-admin-extension,我们需要一些图像选择器。第一个很简单,但知道我们正在添加更多,似乎应该有一个更有效的解决方案。
这就是我们所拥有的:
<umb-control-group label="Logo">
<ul class="unstyled list-icons" ng-if="logoNode">
<li>
<i class="icon icon-delete red hover-show pull-right" ng-click="removePicture()"></i>
<img src="{{logoNode.thumbnail}}" />
{{logoNode.name}}
</li>
</ul>
<ul class="unstyled list-icons">
<li>
<i class="icon icon-add blue"></i>
<a href ng-click="openMediaPicker()" prevent-default>Select</a>
</li>
</ul>
</umb-control-group>
javascript是:
$scope.openMediaPicker = function() {
dialogService.mediaPicker({ callback: populatePicture });
}
function populatePicture(item) {
$scope.logoNode = item;
$scope.contentData.logoID = item.id;
}
但是现在,我们有更多的Image Picker对象。 我尝试使用“openMediaPicker()”调用传递参数。但我无法将其传递给populatePicture()函数。
所以我最终在openMediaPicker()函数中使用了一个开关,并为每个Image Picker对象创建了一个populatePicture()函数,并在交换机内调用它。这很糟糕,但我似乎无法弄清楚如何提高效率。
编辑以澄清:我在一个页面上有多个相同类型的属性编辑器。
任何线索?