Javascript 绑定元素的角度访问
这可能是我设计应用程序的方式中的一个问题,但我一直需要能够通过我的items数组访问dom元素:Javascript 绑定元素的角度访问,javascript,angularjs,Javascript,Angularjs,这可能是我设计应用程序的方式中的一个问题,但我一直需要能够通过我的items数组访问dom元素: $scope.items = [{"src": src, "url": url, "title": title, "top": 0, "left": -500 }]; 绑定到html时使用: <div class="block" ty-stacked-block ng-repeat="item in items" ng-style="{ 'top' : item.top+'px', 'lef
$scope.items = [{"src": src, "url": url, "title": title, "top": 0, "left": -500 }];
绑定到html时使用:
<div class="block" ty-stacked-block ng-repeat="item in items" ng-style="{ 'top' : item.top+'px', 'left' : item.left+'px' }">
<a href="{{ item.url }}" title="{{ item.title }}">
<img ng-src="{{ item.src }}" alt="{{ item.title }}" />
</a>
<br />
<p>{{ item.title }}</p>
</div>
我在div“item-{{$index}}”中添加了一个id,因此可以通过id从循环中获取它。感觉不是很“棱角分明”,但它起作用了
<div id="item-{{ $index }}" class="block" ty-stacked-block ng-repeat="item in items" ng-style="{ 'top' : item.top+'px', 'left' : item.left+'px' }">
<a href="{{ item.url }}" title="{{ item.title }}">
<img ng-src="{{ item.src }}" alt="{{ item.title }}" />
</a>
<br />
<p>{{ item.title }}</p>
</div>
{{item.title}
我不知道为什么您的项目列表中有布局属性,希望您没有很好的理由,这会有所帮助。如果您的目的是让几个元素块相互堆叠,每个元素块都包含来自项目的结果,那么您应该让angular重复这些项目,而不是自己定位它们。class='block'中的样式属性应创建所需的间距和布局。我已将您的代码包装在无序列表中,并将div标记更改为li标记。您可以始终将div保留在li标记中。如果您不想使用ul包装,请在class=“block”中应用float:left
-
{{item.title}
.街区{
背景色:#fff;
宽度:400px;
填充:10px;
边界半径:8px;
利润率:10px;
位置:相对位置;
}
<div id="item-{{ $index }}" class="block" ty-stacked-block ng-repeat="item in items" ng-style="{ 'top' : item.top+'px', 'left' : item.left+'px' }">
<a href="{{ item.url }}" title="{{ item.title }}">
<img ng-src="{{ item.src }}" alt="{{ item.title }}" />
</a>
<br />
<p>{{ item.title }}</p>
</div>
<ul>
<li class="block" ng-repeat="item in items">
<a href="{{ item.url }}" title="{{ item.title }}">
<img ng-src="{{ item.src }}" alt="{{ item.title }}" />
</a>
<br />
<p>{{ item.title }}</p>
</li>
</ul>
.block {
background-color:#fff;
width:400px;
padding:10px;
border-radius:8px;
margin:10px;
position: relative;
}