我創建了一個非常簡單的指令,顯示一個鍵/值對。我希望能夠自動隱藏元素,如果transcluded內容是空的(零長度或只是空白)。如果包含的內容爲空,如何隱藏元素?
我不知道如何訪問從指令中獲取的內容。
app.directive('pair', function($compile) {
return {
replace: true,
restrict: 'E',
scope: {
label: '@'
},
transclude: true,
template: "<div><span>{{label}}</span><span ng-transclude></span></div>"
}
});
例如,我想要顯示下面的元素。
<pair label="My Label">Hi there</pair>
但是接下來的兩個元素應該隱藏,因爲它們不包含任何文本內容。
<pair label="My Label"></pair>
<pair label="My Label"><i></i></pair>
我是Angular的新手,所以可能有很好的方法來處理這種開箱即用的事情。任何幫助表示讚賞。
對於顯示深奧transcludeFn的用例的任何答案+1。 –
在transcludeFn,'clone.text()。trim()。length'會更精確一點點 – alalonde
+1謝謝,這只是爲我節省了很多時間。 – cgTag