2016-09-06 3 views
0

Не уверен, что случилось с моим кодом, я получил ошибку angular.min.js:17 Uncaught Error: No module: MyAppAngularjs нет ошибок модуля

http://jsfiddle.net/9g4nxdar/

(function() { 
    angular.module("MyApp") 
    .controller('MyCtrl', myController); 

    function myController() { 
    var vm = this; 

    var item = [{ 
     "name": "James", 
     "age": 20 
    }, { 
     "name": "John", 
     "age": 20 
    }] 


    } 
})(); 

Я объявляю в представлении <div ng-app="MyApp">

+0

Добавить массив зависимостей в качестве второго параметра вашего объявления модуля. 'angular.module ('MyApp', [])' –

+0

@PrateekGupta Я вижу. Спасибо, но что здесь не так? http://jsfiddle.net/qnr187m2/ –

+1

@SoniaA. Как я упоминал в своем комментарии ниже моего ответа. AngularJS представила поддержку синтаксиса «Контроллер как» в версии 1.1.5. Вы используете версию 1.1.1 в этом скрипте – cnorthfield

ответ

2

Проблема заключается ваш просто получение ссылки на модуль MyApp. Для создания модуля MyApp нужно передать массив в качестве второго параметра, как так:

app.js

(function(){ 
    // create the module MyApp 
    angular.module('MyApp', []); 

})(); 

controller.js

(function() { 

    // get the reference to MyApp and create the controller 
    angular.module("MyApp") 
    .controller('MyCtrl', myController); 

    function myController() { 
    var vm = this; 

    var item = [{ 
     "name": "James", 
     "age": 20 
    }, { 
     "name": "John", 
     "age": 20 
    }] 

    } 

})(); 

Из documentation:

angular.module(name, [requires], [configFn]);

требует - если указано, то создается новый модуль. Если это не указано, модуль извлекается для дальнейшей настройки.

+0

любой контроллер идеи, так как здесь не работает? http://jsfiddle.net/qnr187m2/ –

+0

Да, AngularJS представил поддержку синтаксиса «Контроллер как» в версии 1.1.5. Вы используете версию 1.1.1 в этом скрипке :) – cnorthfield

+0

@SoniaA. Отвечал ли мой ответ на ваш вопрос? – cnorthfield

0

Соня А - В вашем jsfiddle, просто измените "JavaScript Каркасы & Extensions" в "AngularJS 1.4.8" и он начинает работать правильно.

Ниже вилка для того же jsfiddle: http://jsfiddle.net/vcvv04hb/

(function() { 
 
    angular.module("MyApp",[]) 
 
    .controller('MyCtrl', myController); 
 

 
    function myController() { 
 
    var vm = this; 
 
    vm.items = [{ 
 
     "name": "James", 
 
     "age": 20 
 
    }, { 
 
     "name": "John", 
 
     "age": 20 
 
    }]; 
 
    } 
 
})();
<div ng-app="MyApp"> 
 
    <div ng-controller="MyCtrl as vm"> 
 
    <ul> 
 
     <li ng-click="vm.viewDetail = true" ng-repeat="item in vm.items">{{item.name}} 
 
     <small ng-show="vm.viewDetail">{{vm.item.age}}</small> 
 
     </li> 
 
    </ul> 
 
    </div> 
 
</div>

Смежные вопросы