-1
私はAngularJSを初めて使用しています。だから、そんなばかげた質問のためにお詫び申し上げます。ボタンをクリックしたときの指示を非表示にして表示する
ボタンのクリックに基づいて指示を表示/非表示にしたい。
<body ng-app="app" ng-controller="appCtrl">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Welcome to the world of directives!</a>
</div>
<ul class="nav navbar-nav">
<li ng-repeat="fruit in fruits" ng-clicked="itemClicked(fruit.label)" style="cursor:pointer">
<a>{{fruit.label}}</a>
<my-div></my-div>
</li>
</ul>
</div>
</nav>
<script>
var app = angular.module('app',[]);
app.controller('appCtrl',function($scope){
// Fruits
$scope.fruits = [{
label:"Apple"
},{
label:"Orange",
},{
label:"Grapes"
}];
});
app.directive('myDiv',function(){
return {
restrict: 'E',
link : function(scope,elem,attrs){
scope.itemClicked = function(value){
alert('myDiv clicked : ' + value);
}
}
}
});
</script>
</body>
Whenever a link in clicked
は、私が指示機能から来てshow the alert with the respective fruit name
したいです。
ただし、コンソールにエラーはありません。
私には何が欠けていますか?
説明をお願いします。
以下のようにコントローラでそれを定義するディレクティブで関数を定義します。あなたはng-clickedを使っていますが、それを一度変更して動作するかどうかを確認してください。 – GeekAb
くそー!それは単にタイプミスでした。私を修正してくれてありがとう。 – StrugglingCoder
あなたはこの指令で何かをしようとしていますか?あなたはまったくそれを必要としません。 '$ scope.itemClicked'関数をあなたのコントローラに入れてください。 –