Не могу использовать Angular 1.4.7 в коде

0

У меня есть этот код:

<!DOCTYPE html>
<html>
<head>
<title>Lists Test</title>
<script src="/angular.min.js"></script>
<script>
    function Controller($scope) {

        $scope.backupCountries = {
            "id": "field10",
            "items": [{
                "id": "10",
                "StateGroupID": "0",
                "name": "United State"
    }, {
                "id": "2",
                "StateGroupID": "1",
                "name": "Canada"
    }]
        };

        $scope.backupStates = {
            "id": "field20",
            "StateGroups": [{
                    "items": [{
                        "id": "1",
                        "name": "Alabama"
        }, {
                        "id": "2",
                        "name": "Alaska"
        }, {
                        "id": "3",
                        "name": "Arizona"
        }, {
                        "id": "4",
                        "name": "California"
        }]
    },

                {
                    "items": [{
                        "id": "201",
                        "name": "Alberta"
        }, {
                        "id": "202",
                        "name": "British Columbia"
        }, {
                        "id": "303",
                        "name": "Manitoba"
        }, {
                        "id": "304",
                        "name": "Ontario"
        }]
    }]
        };

        $scope.Countries = $scope.backupCountries;
        $scope.getStates = function () {
            console.log($scope.selectedCountry);
            return         $scope.backupStates.StateGroups[$scope.selectedCountry].items;
        };
        //$scope.currentStates = $scope.backupStates.StateGroups[0];

        /*$scope.$watch('currentStates', function(value, oldValue){
            //alert(value);
            //alert(JSON.stringify(value));
            //$scope.currentStates = (value == "10") ?  States.StateGroups[0] : States.StateGroups[1];
        });*/
    };
</script>
</head>
<body>
<div ng-app ng-controller="Controller">
     <h2 class="page-title">Model</h2>
           <div class="row-fluid">
            <div class="span4">
                <label for="cboGroup">Countries</label>
                <select data-ng-model="selectedCountry">
                        <option value="">Please Select a Country</option>
                      <option ng-repeat='country in Countries.items'           value='{{country.StateGroupID}}'>{{country.name}}</option>
                </select>
            </div>

            <div class="span4">
            <label for="cboItem">States</label>
            <select data-ng-model="selectedState">
                <option value="">Please select a state</option>
                <option ng-repeat='state in getStates()'>{{state.name}}</option>
            </select>
        </div>

        <div class="well">what I am trying to archive is that the items are changing each time the group changes.</div>
        <div>Countries : {{Countries.items | json}}</div>
        <div>States : {{getStates()}}</div>
    </div>

То, с чем я боролся, заключается в переносе этого кода на Angular 1.4. Но я не знаю, что не так с моим кодом или что с ним нужно изменить. Код работает безупречно в Angular 1.1.1, но когда я меняю угловой источник на js с верхней версией, все становится черным.

  • 0
    Вы должны действительно посмотреть на этот ответ, который объяснил все вещи stackoverflow.com/a/28728380/2435473
Теги:
migration

1 ответ

0
Лучший ответ

Выделяется несколько необычных вещей:

  1. Вы можете использовать ng-модель без префикса data- *.

  2. $ scope.selectedCountry не инициализируется нигде.

  3. необходимо подключить ваше приложение к директиве ng-app: ng-app = "my_app" id = "ng-app"

  4. у вас нет определения модуля или контроллера

Моя рекомендация состоит в том, чтобы выяснить, какая версия AngularJS начинает нарушать ваш код и что самое последнее из них - ваш код по-прежнему работает. Затем прочитайте документы о выпуске и посмотрите, какие изменения были внесены, что может нарушить ваш код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню