您好我想动态创建角度模板,如下所示:
的index.html:
<div ui-view></div>
<ul class="nav-links">
<li ng-repeat="item in items">
<a ui-sref="{{item.id}}"">{{item.name}}</a>
</li>
</ul>
<script ng-repeat="item in items" type="text/ng-template" id="{{item.id}}.html">
<h1>{{item.name}}</h1>
</script>
我怎么能这样做?我在网上搜索并发现我们可以动态地包含模板,但我没有找到任何指定如何动态创建模板的地方。
谢谢, Sombir
答案 0 :(得分:2)
您可以做到这一点的最佳方式是自定义指令!这是使angularjs强大的原因。
.directive('myCustomer', function() {
return {
restrict: 'E',
template: 'myCustomer.html'
};
});
并在您的索引中或您可以称之为的任何内容:
<my-customer></my-customer>
编辑: 要动态生成您的Custom指令,请使用属性Controller或Link。
.directive('myCustomer', function() {
return {
restrict: 'E',
template: 'myCustomer.html',
controller: function ($scope,$http) {
// here you can use $scope, $http etcs... but
}, // to make it clean and standard use Link
link: function (scope, element, attrs) {
// do all stuff like API call JQuery stuff and all here
}
};
});
你可以从API或任何你想要的东西生成动态你指令:)。 :)