什么是设置ngRepeat迭代ngRepeat
之外我有下面的代码,这是一个ngRepeat内运作良好什么是设置ngRepeat迭代ngRepeat
<div ng-repeat="item in items">
<ng-include src="itemView.html">
<!-- ngincluded view "itemView.html" -->
{{item.title}}
</div>
现在我想在我的应用程序的其他地方使用itemView.html,不是最好的方法。
这样做的最好方法是什么?
我意识到,一个选项将创建一个新的范围数组变量var singleItem=[myItem]
,并把<div ng-repeat="item in singleItem">
周围,但有没有更多的角度?
你可以使用ng-init。
主要的html:
<!-- use it with ng-repeat -->
<div ng-repeat="item in items">
<div ng-include src="template.url" onload='myFunction()'></div>
</div>
<!-- using anywhere else in your code ng-init="item=item[index]" -->
<div ng-init="item=items[1]" ng-include src="template.url" onload='myFunction()'></div>
<!-- template -->
<script type="text/ng-template" id="template1.html">
{{item.title}}
</script>
由于您的项目详细信息是itemView.html模板的一部分,因此它是独立的。所以它可以在您的应用程序的任何地方使用,没有任何问题 为了让你可重复使用的模板独立的变量名的项目中,你可以在这样的指令,把它包装:
module.directive('reusableItem', function() {
return {
restrict: 'E',
scope: {
myItem: '=item'
},
templateUrl: 'itemView.html'
};
});
用itemView.html中的myItem替换所有项引用。
将像这样使用: <可重复使用的项目我的项目=“项” > < /可重复使用的项目> 为你的情况。
第二个使用此相同的指令可能看起来像: <可重复使用的项目我的项目=“itemXyz” > < /可重复使用的项目>
什么,你还要做的是缓存你的模板,如果它正在多个地方使用。要做到这一点,你可以使用$templateCache。
你已经错过了问题的要点。 itemView模板包含对“item”的引用。除了将其包装在ngRepeat中,我该如何设置项目? – pinoyyid 2014-08-28 06:36:31
将可重复使用的模板包裹在指令中并传递想要传递的数据。 – 2014-08-28 06:40:39
为我工作 – pinoyyid 2014-08-28 07:25:46