Я довольно новичок в Angular.js и думаю, что мне не хватает чего-то маленького, но важного здесь.Угловой вид не обновляется
Чтобы узнать угловую структуру, я создаю эту небольшую панель для маршрутизации источников видео в пункты назначения.
У меня есть список источников и список пунктов назначения (каждый пункт назначения с 2 слотами). Затем они будут загружены из API, но пока определены в js.
Когда я выбираю один из источников, «selectedSource» var устанавливается с помощью источника с щелчком. Когда я, чем щелкаю по месту назначения, устанавливает содержимое этого слота с объектом «selectedSource».
Журнал консоли сообщает мне, что указатель пальца слота обновлен, но мой html не показывает обновленное изображение. Я уже возился с «применить», хотя я не понимаю, что это путь.
Смотрите мой упрощенный код здесь: http://jsfiddle.net/f4Tgf/
function app($scope, $filter) {
$scope.selectedSource = null;
$scope.sources = {
source1 : {id:'source1', thumbUrl:'http://lorempixel.com/100/100/sports/1/'},
source2 : {id:'source2', thumbUrl:'http://lorempixel.com/100/100/sports/2/'},
source3 : {id:'source3', thumbUrl:'http://lorempixel.com/100/100/sports/3/'}
}
$scope.destinations = {
dest1 : {id:'dest1', slots: {slot1 : $scope.sources.source2,slot2 : $scope.sources.source3} }
}
$scope.selectSource = function(source){
if($scope.selectedSource == source){
// toggle the selected source off if it is already selected
$scope.selectedSource = null;
}else{
$scope.selectedSource = source;
}
}
$scope.selectSlot = function(slot){
slot = $scope.selectedSource;
console.log(slot.thumbUrl);
//reset selected source
$scope.selectedSource = null;
}
}
HTML:
<body >
<div ng-app ng-controller="app" class="container-fluid">
<div class="row">
<!-- SOURCES -->
<div id="source-container" class="col-xs-6">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Sources</h3>
</div>
<div class="panel-body row">
<!-- Show all sources -->
<div ng-repeat="source in sources" ng-class="{selected: source==selectedSource}" ng-click="selectSource(source)" class="col-md-6 col-sm-12">
<div class="thumbnail">
<img class="img-responsive" src="{{source.thumbUrl}}" />
</div>
</div>
</div>
</div>
</div>
<!-- SOURCES -->
<!-- DESTINATIONS -->
<div id="sink-container" class="col-xs-6">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Destination</h3>
</div>
<div class="panel-body row">
<!-- Show all destinations -->
<div ng-repeat="destination in destinations" ng-class="{available: selectedSource!=null}">
<div class="thumbnail">
<div ng-repeat="slot in destination.slots" ng-click="selectSlot(slot)">
<img class="img-responsive" src="{{slot.thumbUrl}}" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- END DESTINATIONS -->
</div>
</div>
</body>
(прежде чем сказать мне пользоваться услугами и поэтому, пожалуйста, помните: это первый проект попытка обучения)
http://jsfiddle.net/dJLrM/ похожее на предоставленный ответ ... – aet