2014-09-29 47 views

回答

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

使用两种方式=或单向&结合,而不是的文字@ bindin摹

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/

+0

感谢MajoB!对不起,我没有足够的声望来真正给你信誉,并将你的答案标记为选定的答案,但感谢堆我实际上尝试了双向绑定作为我的实验的一部分,但现在我意识到我正在尝试的方式编译html是错误的(data ='“+ data +”'而不仅仅是data ='data')再次感谢有人会给你这个荣誉 – 2014-09-29 07:39:12

+0

这似乎并不适用于角1.3。有任何想法吗? – Vassilis 2015-05-24 13:54:26

相关问题