2017-07-17 12 views
0

ディレクティブを使用して広範囲に構築された既存のシステムがあります。私はコンポーネントを少しずつ少しずつ置き換えようとしています。 私はこのようになりますコンポーネントがあります。角度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内部ダウン深い...だから、この質問が解決し検討することを考え出しました。

答えて

0

compileattrsにはtAttrsのアクセス権がありますが、実際には値に解決されていることがわかりました。この問題は解決されました。

関連する問題