我有一个按钮,它将执行一个查询并将结果放入一个动态生成的指令中,每个查询结果都映射到一个指令(Think笔记本样式处理)。以这种方式将数据传递到指令的好方法是什么?我尝试使用绑定范围,但它似乎用相同的数据更新我的所有指令。我可以使用地图将我的数据映射到每个指令中,但我认为可能有更好的方法。这就是我所拥有的
angular.module('app')
.controller('DOController', ["$scope", "$compile",
function($scope, $compile) {
var i = 0;
$scope.execute = function() {
console.log("Executing");
$scope.data = "testData" + i++;
// Dynamically Add notebook pages
var notebookPage = $compile("<notebook-page data='data'></notebook-page>")($scope);
var notebookContainer = document.getElementById('notebook-container');
angular.element(notebookContainer).prepend(notebookPage);
}
}
])
.directive('notebookPage', function() {
var controller = function(){
}
return{
restrict: 'E',
templateUrl: 'notebookpage.html',
scope: {
data: '=data'
}
}
});
HTML
<div class="notebook-page">
<p>{{data}}</p>
</div>
编辑:我想我找到了解决方案
var notebookPage = $compile("<notebook-page data=" + someDataHere + "></notebook-page>")($scope);