2016-10-11 46 views
0

這是我在angularjs中的第一個代碼,我完全不知道我做錯了什麼。我的angularjs ng控制器不起作用

我創造了這個:

var app = angular.module('koloApp', []);  
app.controller('circleController', ['$scope', function ($scope) { 
    $scope.kolor1 = 'red'; 
    $scope.kolor2 = 'yellow'; 
}]);' 

,並與這個網站:

<!DOCTYPE html> 
<html lang="pl" ng-app="koloApp"> 
<head> 
<title>KOLO</title> 
<meta charset="utf-8" /> 
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css" /> 
<script type="text/javascript" src="js/angular.min.js"></script> 
<script type="text/javascript" src="app/app.js"></script> 
<script type="text/javascript" src="js/dyrektywy/kolo/kolo.js"></script> 
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> 
</head> 
<body> 
<div> 
    <kolo-directive ng-click="clickMe()" kolor-wypelnienia ="'navy'" kolor-otoczenia="'yellow'"></kolo-directive> 
</div> 
</body> 
</html> 

和這個指令:

var app = angular.module('koloApp', []); 

app.directive('koloDirective', function() { 
return { 
    restrict: 'E', 
    templateUrl: 'js/dyrektywy/kolo/kolo.html', 
    transclude: true, 

    link: function ($scope, element, attr) { 
     $scope.clickMe = function() { 
      alert("kliknąłeś w kółeczko"); 
     } 
    }, 

    scope: 
     { 
      kolorKola: '=kolorWypelnienia', 
      kolorObwodki:'=kolorOtoczenia' 
     }, 

}; 

}); 

一切工作正常。但是,當我想在我的html中使用ng-controller時,它完全不起作用。我試圖用它像: <div ng-controller: "circleController">和控制檯我得到這個錯誤:http://errors.angularjs.org/1.5.7/ng/areq?p0=circleController&p1=not%20a%20function%2C%20got%20undefined

我不知道什麼是錯與此控制器。有任何想法嗎?

回答

0

用等號代替冒號。

它應該是:

<div ng-controller = "circleController"> 
0

你有沒有在你的HTML提供您的控制器。

你必須提供像

<div ng-controller= "circleController"> 

,而不是

<div ng-controller: "circleController"> 

檢查以下內容:

HTML

<div ng-app="koloApp"> 
<div ng-controller="circleController"> 
    <kolo-directive ng-click="clickMe()" kolor-wypelnienia ="'navy'" kolor-otoczenia="'yellow'"></kolo-directive> 
</div> 

</div> 

JS

var app = angular.module('koloApp', []);  
app.controller('circleController', ['$scope', function ($scope) { 
    $scope.kolor1 = 'red'; 
    $scope.kolor2 = 'yellow'; 
}]); 

app.directive('koloDirective', function() { 
return { 
    restrict: 'E', 
    template: '<h1>Changed your <b>templateUrl</b> to <b>template</b> for showing this example</h1>', 
    transclude: true, 

    link: function ($scope, element, attr) { 
     $scope.clickMe = function() { 
      alert("kliknąłeś w kółeczko"); 
     } 
    }, 

    scope: 
     { 
      kolorKola: '=kolorWypelnienia', 
      kolorObwodki:'=kolorOtoczenia' 
     }, 

}; 

}); 

檢查此琴:Fiddle