0

Kann mir jemand helfen, den DATA-Wert neues Fenster zu setzen.Wie öffne ich große Daten mit ng-href oder ng-klick in einem neuen Fenster in AngularJS

Ich möchte Td Zelle mit DATENAME als Hyperlink machen. Wenn ich auf diese DATA klicke, sollte ein neues Fenster geöffnet werden, um den Wert anzuzeigen.

Demo

JSON Daten

{ 
    "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 
    } 
    } 
} 

Derzeit verwende ich {{list.DATA}} die Daten in der Zelle zeigen, aber ich mag Hyperlink erstellen und wenn Benutzer klickt, die sie verbinden sollen neue Fenster geöffnet um die Daten anzuzeigen. Da mein DATA-Wert etwa 1000 Zeilen beträgt. Kann mir jemand dabei helfen?

Und Gibt es so, wie ich den Wert der Daten in UTF-8 dekodieren kann als der Datenwert in UTF-8 kodiert ist

Vielen Dank im Voraus.

<tr class="features" ng-repeat="list in opMessageLogs"> 
<td>{{list._id.$id}}</td> 
<td>{{list.OPERATION}}</td> 
<td>{{list.STATUS}}</td> 
<td>{{list.DATA}}</td> 
</tr> 

Antwort

1

Für eine neue Registerkarte, benötigen Sie einen Link zu erstellen, aber es gibt Begrenzung auf einen Link (URL) Länge, 2000 Zeichen Link here

, was Sie tun können, ist eine neue Route in Winkel zu schaffen, dass wird den param _id nehmen und dann können Sie die Daten durch einen http Aufruf oder von service erhalten.

Und für die Decodierung/Codierung utf-8

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

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

this helps ..

+0

Statt zeigt '{{list.DATA}}' in der Zelle I Hyperlink in der Zelle erstellen möchten, wenn Benutzer klickt auf die Zelle, um sie dann nur neue Fenster mit DATA Wert Öffnen sollte . Ich bin neu in Angular JS können Sie mir bitte helfen, Route und Service zu implementieren. – Batman

+0

Für das Routing verwenden Sie Ui-Router? Dafür können Sie dieses einfache Tutorial verwenden https://scotch.io/tutorials/angular-routing-using-u-router –

+0

Ab sofort habe ich nicht 'Ui-Router' verwendet. Ist es möglich, ui-Router für meine Anforderung zu implementieren oder "ng-click" oder "ng-href" sollte funktionieren – Batman

1

Um dies zu erreichen, müssen Sie folgende Schritte tun:

  1. einen Zustand erstellen mit ein Parameter dh

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

  2. Verwenden Sie es so in HTML.

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

+0

Sure @Manish Ich werde versuchen, Sie wissen zu lassen .. – Batman

+0

Es wird für die Sicherheit funktionieren :) –

+0

Manish ich bin nicht sehr neu bei Angular JS, können Sie mir bitte helfen, 'app.js' zu modifizieren, um in der Demo Arbeit zu machen [DEMO] (https: // plnkr.co/edit/6TIWrBVkC7mlvNNGSobx? p = Vorschau) – Batman

Verwandte Themen