繁体   English   中英

Angular 1.6组件包含指令

[英]Angular 1.6 component containing directive

我们有一个广泛使用指令构建的现有系统。 我正在尝试慢慢地用组件替换它。 我有一个看起来像这样的组件:

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());

Generic接受一个json字符串dtoData,该字符串需要解析为控制器中的dto对象。 然后在模板中,我有一堆这样的旧指令:

<div directive1="{{$ctrl.dto.Directive1}}"
     directive2="{{$ctrl.dto.Directive2}}">
</div>

当在指令compile函数中放置断点时,您会发现tAttrs {{$ctrl.dto.Directive1}}尚未解析,即保留为字符串“ {{$$ ctrl.dto.Directive1}}”。 无论如何,它们可以在compile函数中解析以便可以工作吗? 我正在尝试执行此操作,因为替换所有内容可能需要一段时间,并且没有可以测试的即时结果。

谢谢 :)

编辑:实际上,您发现在compile过程的更深层,您可以访问tAttrs attrs ,但可以解析为值...因此,请考虑解决此问题。

实际上发现,在compile过程的更深层,您可以访问为tAttrs attrs ,但可以将其解析为值...因此,请考虑解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM