角度指令(不呈现为HTML)

时间:2017-02-27 01:49:49

标签: javascript html angularjs

我对Angular比较新,我很难将我的指令输出呈现为HTML(副文字字符串)。

HTML中的指令: <div odometer-display="{{bigNumber}}"></div>

指令:

app.directive("odometerDisplay",function($compile){//distribute bigNumber digits into individual table cells
var linkFunction = function(scope, element, attributes){
 scope.bigNum = attributes["odometerDisplay"];
 var oTbl="<table><tr>";//start the table

 for(var a=0;a<scope.bigNum.length;a++){//build table cells with digits as content
  oTbl+= scope.bigNum[a]!== "" ? "<td class=\"oCell\">"+scope.bigNum[a]+"</td>":'';
 }

 oTbl+="</tr></table>";//finish the table
 var markUp=$compile(scope)(oTbl);//compile
 element.append(markUp);//append to DOM
}
 return {
    restrict:"A",
    template:'<div>{{oTbl}}</div>',
    link:linkFunction
  }
});

基本上,linkFunction使用scope.bigNumber并将每个数字写入表格单元格(在变量 oTbl 中定义)。 bigNumber可用于&#39; $ scope&#39;并且在指令的范围内&#39; (这不是问题)。

输出(oTbl): <table><tr><td class="oCell">4</td><td class="oCell">8</td><td class="oCell">2</td><td class="oCell">7</td><td class="oCell">2</td></tr></table>

输出就是应该的(一个表格,每个单元格托管一个bigNumber的数字 - 非常简单)。

问题在于它不会呈现为HTML - 它只是呈现定义表格和单元格的文字字符串(即使在尝试&#39; $ compile&#39;&$ 39; $ append&#39之后;)

这仅仅是我在获取HTML指令时所做的最后一次尝试 - 我尝试了无数的角度和方法 - 并得出结论有关于指令I&#的事情39;我根本就失踪了。

0 个答案:

没有答案