gpt4 book ai didi

javascript - 用 Angular 解析 html

转载 作者:行者123 更新时间:2023-11-28 01:03:21 24 4
gpt4 key购买 nike

如何使用 AngularJS 解析 HTML?我尝试构建一个像这样的过滤器:

gameApp.filter('unsafe', function($sce) {
return function(val) {
return $sce.trustAsHtml(val);
};
});

我认为我这样使用它:

<div ng-controller="gameCtrl">
<table>
<p ng-bind-html="result | unsafe"></p>
</tr>
</table>
</div>

但这行不通。结果包含我想要填充表格的 tr 和 td 标签。

这是我的 Controller :

var gameApp = angular.module("gameApp", ['ngRoute']);

gameApp.service('link', function() {
this.user = false;
});
gameApp.filter('unsafe', function($sce) {
return function(val) {
return $sce.trustAsHtml(val);
};
});

function makeTableFrom(str) {
var k = 1;
result = "";

for(var i = 1; i <= 8; i++) {
result += '<tr>';

for(var j = 1; j <= 20; j++) {
if(str[k] === '#') {
result += '<td id=' + k + '">#</td>';
}
else if(str[k] === '&') {
result += '<td class="click" val="water" id="' + k + '">&</td>';
}
else {
result += '<td class="click" id="' + k + '"><a href="#"></a></td>';
}

k++;
}
result += '</tr>';
}
return result;
}


gameApp.config(function($routeProvider) {
$routeProvider

.when('/', {
templateUrl : 'partials/firstpage.html',
controller : 'firstPageCtrl'
})

.when('/game', {
templateUrl : 'partials/game.html',
controller : 'gameCtrl'
});

});

gameApp.controller("firstPageCtrl", function($scope,$http,link,$location) {
$scope.doLogin = function() {
$http.post("lib/action.php", {username: $scope.username, password: $scope.password}).success(function(data) {
if(data) {
link.user = data;
console.log(link.user);
$location.path("/game");
}
}).error(function(data) {
console.log(data);
});
};
});


gameApp.controller("gameCtrl", function($scope,$http,link,$location) {
//$scope.trr = [1,2,3,4,5,6,7,8];
//$scope.tdd = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
$scope.getMonsters = "1";
var map;

$http.post("lib/action.php", {monsters: $scope.getMonsters}).success(function(data) {
map = data;
console.log(map);
$scope.result = makeTableFrom(data);
console.log($scope.result);
});

if(link.user) {
/*$scope.message = "fisk";
console.log(link.user);*/
} else {
/*$scope.message = "Ledsen fisk";
console.log("Är inte satt");*/
}
});

谁能帮帮我?

最佳答案

理想情况下,您可以使用模板或 View 来显示 HTML 并向其传递数据。除了实时代码编辑器之外,显示原始 HTML 还会打开 XSS 和其他安全漏洞。

关于javascript - 用 Angular 解析 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25360633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com