在我看来,我有一个图标列表,点击后,应该从控制器调用一个函数。
查看
<div ng-controller="EditorController" class="main-div">
<aside>
<div ng-repeat="icon in EditorIcons">
<img ng-click="changeme()"
data-ng-src="{{icon.source}}"
alt="{{icon.name}}"/>
</div>
</aside>
</div>
控制器
app.controller('EditorController', function($scope) {
$scope.EditorIcons = [ ... ];
$scope.changeme = function() {
console.log("changing");
}
}
我之前已经看到过这个问题,但我仍然无法在这里找到问题所在。我做错了什么?
更新 我发现了这个问题。我在旁边的元素
上有一个-1的z-index答案 0 :(得分:1)
假设EditorIcons
是控制器中的集合,并且changeme
是控制器内部的方法,则需要移除$parent
:
<div ng-repeat="icon in EditorIcons">
<img ng-click="changeme()"
ng-src="{{icon.source}}" alt="{{icon.name}}" />
</div>
在你的"
定义
alt
答案 1 :(得分:1)
好的,我只是试着做一个小提琴,它工作正常: https://jsfiddle.net/pegla/8807dvrr/2/
<div ng-app>
<div ng-controller="SomeCtrl">
<aside>
<div ng-repeat="icon in EditorIcons">
<img ng-click="changeme()" data-ng-src="{{icon.source}}" alt="{{icon.name}}" />
</div>
</aside>
</div>
</div>
function SomeCtrl($scope) {
$scope.EditorIcons = [{
source: '',
name: 'icon-1'
}, {
source: '',
name: 'icon-2'
}];
$scope.changeme = function() {
console.log("changing");
}
};
所以你的问题必须在控制器或ng-app声明的某个地方,因为代码有效,同时检查编辑器图标中的数据是否正常。