我想在Angular指令中获取渲染内容。这是我的代码:
使用Javascript:
app.controller('appCtrl', function($scope){
$scope.items = [1,2,3,4]
});
app.directive('pane', function($interpolate, $compile){
return {
restrict: 'E',
scope:true,
link: function(scope, element, attrs){
var text = element.html();
var content = $interpolate(text)(scope);
alert(content);
}
}
});
HTML:
<div ng-controller='appCtrl'>
<pane>
<span ng-repeat="item in items">{{item}}, </span>
</pane>
</div>
所以,但是当我运行它时,我只能在警告框中找到“”
ps:我试图关注this answer,但它不起作用
答案 0 :(得分:1)
您应该尝试从编译函数中获取指令内容。
例如:
app.directive('pane', function($interpolate, $compile){
return {
restrict: 'E',
compile: function(tElement, attrs){
var content = tElement.children();
console.log(tElement);
$(tElement).empty();
for(i=1;i<10;i++){
console.log(1);
tElement.append(content.clone());
}
return {
post: function(scope, element, attrs){
console.log(scope.items);
}
}
},
}
});