2015-02-11 3 views
5

Ich möchte JSON-String in passieren ng Sie aufPass json Zeichenfolge als Parameter in ng Sie auf

hier ist die JSON-String:

{"id":0,"parentID":0,"SubMenuItems":[],"imageName":"Icon.png","moduleName":"No Menu"} 

HTML:

 <!DOCTYPE html> 
<html> 

    <head> 
    <script data-require="[email protected]*" data-semver="1.4.0-beta.4" src="https://code.angularjs.org/1.4.0-beta.4/angular.js"></script> 
    <link rel="stylesheet" href="style.css" /> 
    <script src="script.js"></script> 
    </head> 

    <body ng-app="app" ng-controller="appCtrl"> 
    <h1>Hello Plunker!</h1> 
    <button ng-click="go({ 
     "id": 0, 
     "parentID": 0, 
     "SubMenuItems": [], 
     "imageName": "Icon.png", 
     "moduleName": "No Menu" 
    })">GOOOOOOOOOOOOOO!!!!!!!!!!</button> 
    </body> 

</html> 

JS: // Code geht hier

var app = angular.module('app', []); 
app.controller('appCtrl', ['$scope', 
    function($scope) { 

    $scope.go = function(parm) { 
     alert('hi'); 
    }; 
    } 
]); 

PLUNKER

Antwort

4

Es gibt zwei Probleme. Die erste ist, dass Sie ngController Direktive ng-controller="appCtrl" auf einem Element deklarieren müssen. Der zweite ist, dass Sie ngClick Attribute in Anführungszeichen nehmen und dann Objekt ohne Anführungszeichen in go Funktion übergeben müssen. Angular wird verstehen, dass Sie vorbei und Objekt:

<body ng-app="app" ng-controller="appCtrl"> 
    <h1>Hello Plunker!</h1> 
    <button ng-click='go({ 
     "id": 0, 
     "parentID": 0, 
     "SubMenuItems": [], 
     "imageName": "Icon.png", 
     "moduleName": "No Menu" 
    })'>GOOOOOOOOOOOOOO!!!!!!!!!!</button> 
</body> 

Demo:http://plnkr.co/edit/8WuuhbCaZBom05ep576K?p=preview

Verwandte Themen