2017-10-10 228 views
0

我尝试建立这个指令在angularJS,我面对这个问题 我尝试绑定到HTML,对象属性,它的名字来自另一个变量就像下面的例子

angular.module('ng.box', codeHive.angular.modules) 
.directive('boxView', function($compile) { 
return { 
    link: function(scope, element, attrs, ngModelCtrl) { 
     var name = 'exampl'; 
     var htmlTemplate = '<div instance="'+scope[name].innerVal +'" </div> '; 

     var el = angular.element('<div/>'); 
     el.append(htmlTemplate); 
     $compile(el)(scope); 
     element.append(el); 
    }, 
    }; 
}) 

我揣摩如何将这个对象属性的实例属性中的HTML元素绑定

var htmlTemplate = '<div instance="'+scope[name].innerVal +'" </div> '; 

任何帮助,请

回答

0

很简单:

var htmlTemplate = '<div instance="' + name + '.innerVal" </div> '; 

PS。顺便说一句,这些行应该被交换:

element.append(el); // this should be first line 
    $compile(el)(scope); // this should be second line 

的原因是,在模板指令被追加需要的父元素其他指令将无法找到他们时,编制了“下线”。