2014-10-08 3 views
-1

Мне сложно определить, в чем проблема.AngularJS: Ardument 'Controller as short' не является функцией, получил undefined

Почему этот код (index.html) запустить

<!DOCTYPE html> 
<html ng-app="gemStore"> 
    <head> 
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" /> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script> 
    <script type="text/javascript" src="js/app.js"></script> 
    </head> 
    <body> 
    <div class="list-group-item" ng-repeat="product in store.products"> 
     <section ng-controller="TabController as tab"> 
     </section> 
    </div> 
    </body> 
</html> 

в то время как

<!DOCTYPE html> 
<html ng-app="gemStore"> 
    <head> 
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" /> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script> 
    <script type="text/javascript" src="js/app.js"></script> 
    </head> 
    <body> 
     <section ng-controller="TabController as tab"> 
     </section> 
    </body> 
</html> 

выдает ошибку:'Error: Аргумент 'TabController в закладке' не является функцией, был неопределенным в Ошибка (родной) '

app.js:

(function() { 
    var app = angular.module('gemStore', []); 

    app.controller('StoreController', function() { 
    this.products = gems; 
    }); 

    app.controller("TabController", function() { 
    this.tab = 1; 

    this.isSet = function(checkTab) { 
     return this.tab === checkTab; 
    }; 

    this.setTab = function(setTab) { 
     this.tab = setTab; 
    }; 
    }); 

    var gems = [ 
    { 
     data : 'data' 
    } 
    ]; 
})(); 

Большое вам спасибо!

+1

Посмотрите на наличие возможностей в вашей версии. – PSL

ответ

4

Ваша проблема вызвана тем, что вы ссылаетесь на Угловой 1.0.6. Синтаксис «Контроллер как» недоступен в Angular pre 1.2.0. Если вы измените 1.0.6 на 1.2.0, он должен работать нормально.

+0

Спасибо, обновление также сделало это http://stackoverflow.com/questions/18481863/failed-to-instantiate-module-injectorunpr-unknown-provider-routeprovider необходимым – Boern

+0

Сладкий человек, рад, что у вас все получилось! – wjohnsto

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