ディレクティブを使用して広範囲に構築された既存のシステムがあります。私はコンポーネントを少しずつ少しずつ置き換えようとしています。 私はこのようになりますコンポーネントがあります。角度1.6のコンポーネントを含むディレクティブ
var GenericDataController = (function() {
function GenericDataController() {
this.dtoData = '';
}
GenericDataController.prototype.$onInit = function() {
this.dto = angular.fromJson(this.dtoData);
};
return GenericDataController;
}());
var GenericData = (function() {
function GenericData() {
this.bindings = {
dtoData: '@',
};
this.controller = GenericDataController;
this.templateUrl = 'GenericDataTemplate';
}
return GenericData;
}());
App.component('generic', new GenericData());
ジェネリックは、コントローラにDTOオブジェクトに解決される必要がJSON文字列dtoDataになります。そして、私はこのような古いディレクティブの束を持っているテンプレートに:あなたはディレクティブcompile
関数内にブレークポイントを置くとき
<div directive1="{{$ctrl.dto.Directive1}}"
directive2="{{$ctrl.dto.Directive2}}">
</div>
、あなたがtAttrs
{{$ctrl.dto.Directive1}}
ではまだ解決されていないことがわかり、つまりは文字列としてとどまる "{{$ ctrl.dto.Directive1}}"とにかく彼らはそれが機能するようにcompile
関数で解決することができますか?私はこれをやろうとしています。すべてを置き換えるには時間がかかるかもしれないし、すぐにテストできる結果はないからです。
ありがとうございました:)
編集を:実際にあなたがtAttrs
ですが、値に分解attrs
へのアクセス権を持っているcompile
内部ダウン深い...だから、この質問が解決し検討することを考え出しました。