要素の属性として渡す必要がある追加の詳細が必要なディレクティブを作成しようとしています。
これらの値は静的な性質のものです。つまり、親スコープにはスコープ参照はありません (これはブール値です)
ディレクティブのリンク機能では、ディレクティブのリンク機能でこれらの属性にアクセスできるようにする必要がありますが、値は未定義になっています。
マークアップ:
<div ng-app="myApp">
<div ng-controller="MainCtrl">
<div my-directive local-attr="attribute" local-ref="ref">
</div>
</div>
</div>
JS:
var myApp = angular.module('myApp', []);
myApp.directive('myDirective', function(){
return {
scope: {
localAttr:'@',
localRef:'='
},
link: function(scope, iElement, iAttrs, controller) {
console.log(scope.localAttr, scope.localRef);
}
};
});
myApp.controller('MainCtrl', ['$scope', function($scope){
$scope.ref="reg"
}]);
このデモでは、リンク関数で値attribute
を取得する必要があります。scope.localAttr
デモ:フィドル