Javascript 角度1.6包含指令的组件

Javascript 角度1.6包含指令的组件,javascript,angularjs,Javascript,Angularjs,我们有一个广泛使用指令构建的现有系统。我试着慢慢地,一点一点地,用组件来替换它。 我有一个组件如下所示: var GenericDataController = (function () { function GenericDataController() { this.dtoData = ''; } GenericDataController.prototype.$onInit = function () { this.dto = ang

我们有一个广泛使用指令构建的现有系统。我试着慢慢地,一点一点地,用组件来替换它。 我有一个组件如下所示:

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());
<div directive1="{{$ctrl.dto.Directive1}}"
     directive2="{{$ctrl.dto.Directive2}}">
</div>
generic接受需要解析为控制器中dto对象的json字符串dtoData。然后在模板中,我有一堆像这样的旧指令:

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());
<div directive1="{{$ctrl.dto.Directive1}}"
     directive2="{{$ctrl.dto.Directive2}}">
</div>

当您在指令
compile
函数中放置断点时,您会看到在
tAttrs
{{$ctrl.dto.Directive1}}
中尚未解析,即保留为字符串 “{{$ctrl.dto.Directive1}}”。在
compile
函数中是否有可以解决这些问题的方法?我之所以这么做,是因为更换所有部件可能需要一段时间,而且我无法立即测试结果

谢谢:)


编辑:事实上,在
compile
的深层,您可以访问
attrs
,它们是
tAttrs
,但解析为值。。。所以考虑这个问题已经解决了。

实际上发现了在代码里面更深的代码>编译/代码>你可以访问<代码> Atdis<代码> > <代码> TTAFS < /代码>,但是分解为值…所以把这个问题解决。