2017-11-24 4 views
1

AngularJSの新機能です。私はラベル名がデータベースから来るプロジェクトをやっています。 ラベルidをパラメータとして渡し、というラベル名を取得する必要があります。ページが読み込まれると、ラベルに値が初期化されます。しかし、問題は、私がng-clickを使用したときの値セットです。しかし、ラベルをクリックすることは解決策ではないので、ng-init/ng-bindを使用します。ここでAngularJS-pass ng-initのパラメータとしてのラベルID

は、あなたが以下のようにディレクティブでDOM操作を処理するコード

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.test = function(e){ 
    $scope.label=e.target.id; 
    } 
    }); 
</script> 
</head> 
<body> 
<div ng-app="myApp" ng-controller="myCtrl"> 
<label id="lblID" style="border:10px solid red;" ng-click="test($event)">{{label}}</label> 
</div> 
</body> 
</html> 

答えて

0

です。

DEMO

var app = angular.module('myApp', []); 
 
    
 
    
 
app.controller('Ctrl', function ($scope) { 
 
    $scope.doSomething = function (e) { 
 
     alert(e); 
 
    }; 
 
}); 
 

 
app.directive('myDir', function() { 
 
    return function (scope, element, attrs) { 
 
     scope.doSomething(element); 
 
    }; 
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<script> 
 
var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope) { 
 
    $scope.test = function(e){ 
 
    $scope.label=e.target.id; 
 
    } 
 
    }); 
 
</script> 
 
</head> 
 
<body> 
 
<div ng-app="myApp" ng-controller="Ctrl"> 
 
<label my-dir id="lblID" style="border:10px solid red;" ng-init="test('lblID')">{{label}}</label> 
 
</div> 
 
</body> 
 
</html>

+1

おかげ@Sajeetharan。これは私のために働く。あなたは素晴らしいです。私のコンセプトは、あなたのような人々の助けを借りて、angeljsでゆっくりと成長しています。再度、感謝します。 –

関連する問題