如何在AngularJS中使用ng-href或ng-click在新窗口中打开大数据

时间:2016-11-11 03:52:12

标签: angularjs utf-8 html-table angularjs-ng-click angularjs-ng-href

有人可以帮我把DATA值设置为新窗口。

我想将带有DATA名称的td单元格作为超链接。如果我点击该数据,它应该打开新窗口以显示该值。

Demo

JSON数据

X509Store.Certificates

目前我正在使用{ "58231e66982cf7857fee2cb5": { "_id": { "$id": "58231e66982cf7857fee2cb5" }, "RECEIVETIME": { "sec": 1478696550, "usec": 529000 }, "OPERATION": "Operation 1", "DATA" : "kdsjfkdjfkdjfkjdjfjdsfjdsilkjdkfljdsklfjkdlsjfkldsjflkdsjf", "ACCOUNTNUMBER": "account", "STATUS": "SUCCESS", "MESSAGELOGCREATIONDATE": { "sec": 1478696550, "usec": 537000 } }, "58231e681b58b970137b56aa": { "_id": { "$id": "58231e681b58b970137b56aa" }, "RECEIVETIME": { "sec": 1478696552, "usec": 961000 }, "OPERATION": "Operation 2", "DATA" : "dfdfdfkoooooooooooookdkfdkfodkfldkffdfd", "ACCOUNTNUMBER": "account", "STATUS": "FAIL", "MESSAGELOGCREATIONDATE": { "sec": 1478696552, "usec": 961000 } } } 显示单元格中的数据,但我想创建超链接,一旦用户点击该链接,它应该打开新窗口来显示数据。由于我的DATA值约为1000行。有人可以帮我解决这个问题。

有没有办法可以解码UTF-8中的DATA值,因为数据值是用UTF-8编码的

提前致谢。

{{list.DATA}}

2 个答案:

答案 0 :(得分:1)

对于新标签,您需要创建一个链接,但链接(url)长度限制为2000个字符 Link here

你可以做的是创建一个角度为_id的新路线,然后你可以通过http电话或service来获取数据。

用于解码/编码utf-8

function encode_utf8(s) {
    return unescape(encodeURIComponent(s));
}

function decode_utf8(s) {
  return decodeURIComponent(escape(s));
}

希望这会有所帮助..

答案 1 :(得分:1)

要实现此目的,您需要执行以下步骤:

  1. 创建一个带参数的状态,即

    $ stateProvider.state('openTab',{ 'url':'/ link /:id', 'templateUrl':'abc.html' });

  2. 在html中以这种方式使用它。

    <td> <a ui-sref="openTab({'id': list.DATA})" target="_blank">Click Here</a></td>