我尝试在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 :(得分: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
原因是附加模板中的指令在父元素上需要其他指令时,在“离线”编译时将无法找到它们。