【发布时间】:2017-10-05 04:39:59
【问题描述】:
我有一个包含 ng-repeat details 的列表。
当我将鼠标悬停在li 之一上时,我希望名为background 的div 位于ng-repeat 之外,将其背景更改为details 的网址。
但我不知道如何让外部元素访问 ng-repeat 的数据。
plunkr:https://plnkr.co/edit/lGRfE9YGYN645Ztpr94K?p=preview
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.details = [
{ "name": "Employees", "url":"https://i.pinimg.com/736x/76/47/9d/76479dd91dc55c2768ddccfc30a4fbf5--pikachu-halloween-costume-diy-halloween-costumes.jpg" },
{ "name": "Support", "url":"https://i.pinimg.com/736x/76/47/9d/76479dd91dc55c2768ddccfc30a4fbf5--pikachu-halloween-costume-diy-halloween-costumes.jpg" }
];
});
HTML:
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.0.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js" data-semver="1.0.8"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<div class="background">
<ul ng-repeat="detail in details">
<li>{{detail.name}}
</li>
</ul>
</div>
</body>
</html>
【问题讨论】:
-
悬停时使用
ng-mouseenter和ng-mouseleave。将一个变量设置为 true/false 并在ng-class中使用该变量来添加您的自定义类。 -
问题不在于使用这些,我不知道如何访问 ng-repeat 项目。
-
该变量将通过控制器范围访问。
标签: javascript jquery html css angularjs