我是angularJS的新手。这是我的示例代码:
app.directive("w3TestDirective", function() {
return {
template : '<ul>'+
'<div ng-repeat="rows in roleMenulistByID">'+
'<li>{{rows.route_alias_name}}</li>'+
'</div>'+
'</ul>'
};
});
我的问题是我可以将模板数据作为角度字符串发送吗?说,
$scope.string = '<ul>'+
'<div ng-repeat="rows in roleMenulistByID">'+
'<li>{{rows.route_alias_name}}</li>'+
'</div>'+
'</ul>';
我怎么能实现这一目标?如果我说
template : $scope.string
它显示错误。请提前帮助和感谢。
您可以通过相应的属性传递template
字符串,并在指令声明中使用function
作为template
属性的值:
angular.module('app', []).directive('test', function() {
return {
restrict: 'E',
replace: true,
template: function(el, attrs) {
return attrs.template;
}
}
})
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
<div ng-app='app' ng-init='items=[1,2,3]'>
<test template='<p ng-repeat="x in items">{{x}}</p>'><test>
</div>