ボタンのクリックで値をインクリメントする必要があるAngularjsを使用してディレクティブを作成しようとしていcount
ます。
クリックイベントハンドラーで、構成を使用して値をインクリメントしようとしていますが、コンソールでエラーscope.$apply
がスローされます。Syntax Error: Token 'undefined' not a primary expression at column NaN of the expression [count++] starting at [count++]
マークアップ
<div ng-app="myApp">
<div ng-controller="MainCtrl">
<div my-directive >
</div>
</div>
</div>
JS
var myApp = angular.module('myApp', []);
myApp.directive('myDirective', function(){
return {
scope: {},
template: '<div>{{count}}</div><input type="button" class="increment" value="Increment" />',
link: function(scope, iElement, iAttrs, controller) {
console.log('link', scope.count)
iElement.on('click', '.increment', function(){
console.log('click', scope.count);
scope.$apply('count++');
})
},
controller: function($scope){
console.log('controller')
$scope.count = 0;
}
};
});
myApp.controller('MainCtrl', ['$scope', function($scope){
}]);
デモ:フィドル