我无法让双向数据绑定在 Angular js ng-repeat 中工作。我在指定了 ng-repeat 的同一元素上指定了一个 ng-controller - 我刚刚了解到,通过这样做,我可以掌握 ng-repeat 正在迭代的每个项目。这是HTML:
<div ng-controller="OtherController">
<div id="hoverMe" ng-controller="ItemController" ng-mouseenter="addCaption()"
ng-mouseleave="saveCaption()" ng-repeat="image in images">
<div class="imgMarker" style="{{image.css}}">
<div ng-show="image.captionExists" class="carousel-caption">
<p class="lead" contenteditable="true">{{image.caption}}</p>
</div>
</div>
</div>
</div>
这是 ItemController:
function ItemController($scope){
$scope.addCaption = function(){
if($scope.image.captionExists === false){
$scope.image.captionExists = true;
}
}
$scope.saveCaption = function(){
console.log($scope.image.caption);
}
}
和其他控制器:
function OtherController($scope){
$scope.images = ..
}
当我将鼠标悬停在#hoverMe-div 上时 - 正确添加了标题-div。但是当我在段落中输入一些文本然后将鼠标从#hoveMe-div 移开时,$scope.image-variables 标题值不会在 saveCaption 方法中更新。我明白我错过了一些东西。但它是什么?