0
我使用以下指令調用:如何使指令替換包含DIV本身的DIV中的所有內容?
<div data-my-activity></div>
這裏的指令:
app.directive('myActivity', function() {
return {
restrict: "A",
template: "<div class='activity-mask' data-ng-show='fetching.length > 0' >" +
"<ul>" +
"<li data-ng-repeat='activity in fetching'>{{ activity }}</li>" +
"</ul>" +
"</div>" +
"<div class='activity-mask' data-ng-show='loading.length > 0' >" +
"<ul>" +
"<li data-ng-repeat='activity in loading'>{{ activity }}</li>" +
"</ul>" +
"</div>"
};
});
當我使用這個指令它給了我:
<div data-my-activity="">
<div class="activity-mask ng-hide"
data-ng-show="fetching.length > 0">
<ul><!-- ngRepeat: activity in fetching --></ul>
</div>
<div class="activity-mask ng-hide"
data-ng-show="loading.length > 0">
<ul><!-- ngRepeat: activity in loading --></ul>
</div>
</div>
有沒有一種方法可以讓我如果fetching.length和loading.length都等於0,請給我以下內容:
<div style="display:none">
<div class="activity-mask ng-hide"
data-ng-show="fetching.length > 0">
<ul><!-- ngRepeat: activity in fetching --></ul>
</div>
<div class="activity-mask ng-hide"
data-ng-show="loading.length > 0">
<ul><!-- ngRepeat: activity in loading --></ul>
</div>
</div>
以及如果fetching.length或loading.length不等於0?
<div style="display:block">>
<div class="activity-mask ng-hide"
data-ng-show="fetching.length > 0">
<ul><!-- ngRepeat: activity in fetching --></ul>
</div>
<div class="activity-mask ng-hide"
data-ng-show="loading.length > 0">
<ul><!-- ngRepeat: activity in loading --></ul>
</div>
</div>
更新:
我想提出的答案,但它給我帶引號的問題,因爲我有三個層次上一行引號。
app.directive('myActivity', function() {
return {
restrict: "A",
replace: true,
template: "<div ng-style="{display: loading.length > 0 || fetching.length > 0 ? 'block' : 'none'}">
"<ul>" +
"<li data-ng-repeat='activity in fetching'>{{ activity }}</li>" +
"</ul>" +
"</div>" +
"<div class='activity-mask' data-ng-show='loading.length > 0' >" +
"<ul>" +
"<li data-ng-repeat='activity in loading'>{{ activity }}</li>" +
"</ul>" +
"</div>" +
"</div>"
};
});
謝謝,但我怎麼能做到這一點還可以根據任何一個數組是否有長度來改變none和block之間的外部DIV的顯示? –
我已經編輯了答案,以顯示如何做到這一點 –
我試圖做你說的,但我有問題,因爲我有一個「然後一個」,然後是一個「彼此內部。你能看看我的問題更新部分。讓我知道你認爲是什麼解決方案,如果我走在正確的軌道上。謝謝 –