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