2015-05-06 71 views
4

我宣佈兩條指令通過以下設計模式:角只有首先加載指令

var sampleDrtv = function() { 
    return { 
     restrict: 'E', 
     replace: true, 
     scope: false, 
     templateUrl: 'app/views/partials/sample.html', 
     link: function() { 
      alert('sample'); 
     } 
    } 
}; 

angular 
.module('app') 
.directive('sampleDrtv', sampleDrtv); 

如果我添加下面這個圖中的兩個指令,只有第一個被加載。 有人可以解釋我爲什麼嗎?

代碼段:http://codepen.io/anon/pen/doYKap

回答

3

你的標籤是不正確關閉。結果Angular無法正確解析指令。固定HTML將是:

<div ng-app="ativ"> 
    <ativ-history-list></ativ-history-list> 
    <ativ-history-detail></ativ-history-detail> 
</div> 

請注意,自定義元素需要結束標記,它們不是自閉合。

演示:http://codepen.io/anon/pen/JdYZqG

+0

謝謝先生!這有幫助。 – ghuroo

2

目前你的HTML有<ativ-history-list/><ativ-history-list/>這似乎是錯誤的,你處理這些HTML標籤,因爲他們有自我結束標記。因爲它們沒有正確關閉,所以只有一個元素在UI第二個元素被渲染時被忽略。

元素標記應不使用/被關閉,除非元件等<area /><base /><br /><col /><command /><embed /><hr /><img /><input /><keygen /><link /><meta /><param /> <source /><track />, <wbr />

對於指令創建

自定義要素應被正確

<ativ-history-list> </ativ-history-list> 
    <ativ-history-detail></ativ-history-list> 

Working Codepen

+1

非常感謝!這有幫助。 – ghuroo

+0

@ghuroo很高興幫助你..曼:)看看我的編輯..我詳細解釋了爲什麼它不工作..當你問你的問題 –

+0

生活和學習;)我認爲任何標籤可能是自閉。再次感謝。 – ghuroo

2

關閉在創建指令作爲元素正確關閉它們。他們不是自閉的。

<div ng-app="ativ"> 
    <ativ-history-list></ativ-history-list> 
    <ativ-history-detail></ativ-history-detail> 
</div>