如何将数据对象传递给动态创建的指令? (小提琴)

时间:2014-09-29 06:37:00

标签: angularjs angularjs-directive

我想要做的事情非常简单,这里有一个小提琴来说明我想要实现的目标:code here: http://jsfiddle.net/vxpc1dry/

基本上在数据获取成功时,我想将返回的响应数据对象传递给动态编译的指令,只是数据对象似乎是未定义的,不管是什么:(

知道我做错了什么吗?非常感谢!

1 个答案:

答案 0 :(得分:2)

angular.element(document.getElementById('dirContainer')).append($compile("<my-dynamic-directive name='data.name' data='data'></my-dynamic-directive>")(scope));

使用双向=或单向&amp;绑定而不是text @ binding

myApp.directive("myDynamicDirective", function () {
    return {
        restrict: "E",
        scope: {
            data: "=",
            name: "="
        },
        template: "<div class='dynadir'><div>hello {{name}} <-- OK</div>"+
        "<div>hello {{data.name}} <-- WTF?</div></div>",    // <- undefined why?
        link: function (scope, element, attr) {
            console.log("The data passed: %O", scope.data); // <- undefined why?
        }
    }
});

http://jsfiddle.net/vxpc1dry/7/