Angular初心者はこちら。ディレクティブ、スコープ、トランスクルージョンなどに頭を悩ませようとしています。
これが私が達成しようとしていることです-セル内の各テーブルは、そのセル内の値に基づいて色分けする必要があります(bgcolorの変更または特定のCSSクラスの追加)。厄介なのは、セルに裸の値がないことです。セルには他のビットとつまらないものが一緒にあります。したがって、セル内にカスタムHTMLを追加できるようにしたいと思います。
テンプレートは次のようになります。
<span color-codify="{'max' : object.max, 'value' : object.value}" ng-transclude>
{{ object.value }}
<a href="#">Edit</a> | <a href="#">Delete</a>
</span>
私のディレクティブは次のようになります。
myModule.directive('colorCodify', function() {
return {
restrict: 'A',
transclude: 'true',
'link' : function(scope, element, attrs, controller) {
var opts = scope.$eval(attrs.colorCodify);
console.log(opts); // THIS DISPLAYs {max: undefined, value: undefined}
}
}
});
驚くべき部分は、要素{{ object.value }}
内が<span>
正しくレンダリングされていても、ディレクティブに適切に渡されていないことです。しかし、私が参照すると、$parent
それは正しく動作します。例:
<span color-codify="{'max' : $parent.object.max, 'value' : $parent.object.value}" ng-transclude></span>
どうしたの?