Использование ng-repeat для повторения одного и того же div с другим идентификатором и ng-init

Как мне использовать ng-repeat для повторения нескольких div с этой структурой (где соседство будет разным для каждого div, но остальное будет таким же)?

<div id="neighborhood" ng-controller="WeatherController" ng-init="init('neighborhood')">
  <h1>It's currently {{weather}}</h1>
  <p>Sunny: {{sunny}}</p>
  <p>Foggy: {{foggy}}</p>
  <input type="button" value="Sunny" ng-click="sunny = sunny + 1"/>
  <input type="button" value="Foggy" ng-click="foggy = foggy + 1"/>
</div>

person Sara    schedule 14.09.2013    source источник
comment
что вы имеете в виду под where neighborhood will be different for every div?   -  person Maxim Shoustin    schedule 14.09.2013
comment
@MaximShoustin каждый div будет иметь другой идентификатор и другое значение ng-init, которое будет именем другого района. Например: ‹div id = chinatown ng-init = init ('chinatown')› ‹/div›   -  person Sara    schedule 14.09.2013


Ответы (1)


Вы можете использовать интерполяцию для заполнения id и вызова init с моделью AngularJS

<div ng-app="myApp" ng-controller="WeatherController" >
    <div ng-repeat="item in data">
        <div id="{{item.id}}" ng-init="init(item.value)">
            ...
        </div>
    </div>
</div>

function WeatherController($scope) {
    $scope.init = function (item) {
        console.log(item);
    }

    $scope.data = [{
        id: 'neighborhood',
        value: 'neighborhood'
    }, {
        id: 'neighborhood1',
        value: 'neighborhood1'
    }]
}

ДЕМО

person zs2020    schedule 14.09.2013