2
動態模板部分我已經有了一個指令......像這樣:Angular.js介紹如何使用指令孤立範圍
.directive('formMenuBuilderMenu', function (formMenuService) {
return {
templateUrl: '../../views/templates/formmenubuilder-menu-template.html',
restrict: 'A',
scope:{
menu:'='
},
link: function postLink(scope, element, attrs) {
// does stuff
} ...
它被內置動態使用$compile
只要創建一個新的菜單節點。
scope.menu = {//new data for menu view directive part}
var $nodeTemplate = '<div form-menu-builder-menu menu="menu"></div>';
var html = $compile($nodeTemplate)(scope);
$content.append(html);
我有印象,因爲我已經定義在formMenuBuilderMenu
指令,該指令將有隔離範圍,而不是一個scope
部分通過創建
新情況的影響,但這並不在工作所有!
會發生什麼情況是,每次使用$ compile創建新指令時,scope.menu
都會使用所創建的所有先前指令的新值進行更新,而不是保持其隔離範圍。確實在每個創建的指令中註銷scope
顯示它每次都是相同的作用域實例。
我該怎麼做,以便指令範圍保持獨立,每個實例都有自己的scope
?它甚至有可能嗎?請讓我知道是否需要進一步解釋。我敢肯定,我會以錯誤的方式去做這樣的事情,所以一個正確的方向指針將不勝感激。
爲了清楚起見,我的主要目標基本上是使用指令創建動態模板部件,每個指令都有自己的子集數據。
非常感謝!正是我在找什麼。非常感激。 – markstewie