AngularJS绑定$ scope变量

时间:2017-10-10 17:34:46

标签: javascript angularjs angularjs-directive angularjs-scope

我尝试在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> ';

请帮助

1 个答案:

答案 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

原因是附加模板中的指令在父元素上需要其他指令时,在“离线”编译时将无法找到它们。