我是 angularjs 的新手。我正在研究 angularjs Controller 。在 Controller 内部,我有以下功能
$scope.violation = function(argArray){
var message = '';
var violationLog = argArray;
if(violationLog!= null && violationLog!='undefined')
{
var violationArray = new Array();
violationArray = violationLog.split("<br/>");
for (var i = 1; i < violationArray.length; i=i+2)
{
message += violationArray[i];
}
}
return message;
}
我将“argArray”变量传递给该函数作为
argArray = "4<br/>Time in this state exceeded 2 minutes.<br/>3<br/>Time in this state exceeded 1 minutes.";
在这里,我想将这两条消息安排在表格内的“tr”标签中。
喜欢,
帮帮我。
最佳答案
我不喜欢你的“数组”是一个 HTML 字符串,但如果真是这样,你能做的最好的事情就是将它拆分成一个实际的数组并将其提供给你的中继器:
HTML
<div ng-app="myApp" ng-controller="dynamicTable">
<div ng-bind-html="violation(argArray)"></div>
</div>
Angular
var myApp = angular.module("myApp", []);
myApp.controller("dynamicTable", function($scope, $sce) {
$scope.argArray = "4<br/>Time in this state exceeded 2 minutes.<br/>3<br/>Time in this state exceeded 1 minutes.";
$scope.violation = function(argArray){
var message = '';
var html = "<table>";
var violationLog = argArray;
if(violationLog!= null && violationLog!='undefined')
{
var violationArray = new Array();
violationArray = violationLog.split("<br/>");
for (var i = 1; i < violationArray.length; i=i+2)
{
message += "<tr><td>";
message += violationArray[i];
message += "</td></tr>";
html += message;
}
}
html += "</table>";
return $sce.trustAsHtml(html);
}
});
在这里 fiddle :http://jsfiddle.net/5kjjsn3L/6/
更新:这个例子最初是一个用转发器创建的表。 OP 希望在 Controller 内部创建 HTML,因此已对其进行了修改。
关于javascript - angularjs Controller 内的动态表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29532612/