2017-01-27 6 views
-4

Ich benutze phonegap plus angularjs. Mein Problem ist Funktion in Objektfunktion aufrufen. Ich zeige meinen Code. Ich verstehe nicht, wie ich dieses Problem beheben kann. Ich möchte helloworld Funktion in Objektfunktion aufrufen.angularjs funktioniert nicht in meiner eigenen Funktion

<div class="newsFeeds-box" ng-app="pkdNewsFeeds" ng-controller="pkNewsFeedsController"> 
    <article class="container-news-box" ng-repeat="x in newsFeeds"> 
     <p class="newsFeeds-title ">{{ x.id }}</p> 
    </article> 
</div> 


<script> 
// this function is getting data array 
storage.getNewsFeeds(storage.db,function(resultSet) { 
    helloworld.call(this,resultSet); // this function is not working. I will passing my resultSet with this function 
},3); 


function helloworld(resultSet) { 

//this is dummy data 
    var newsFeedsData = [{id:"rdsf111111",longDesp:"djfsdf dsfsdf sdfsf"},{id:"rdsf22222",longDesp:"djfsdfasdasdasdasd dsfdsf vsdvsd"}]; 

    var pkdNewsFeedsrun = angular.module(' pkdNewsFeeds ', []); 

    pkdNewsFeedsrun.controller('pkNewsFeedsController', function($scope) { 

     $scope.newsFeeds = newsFeedsData; 

    }); 
    } 
    <script> 
+0

Was funktioniert nicht? – ste2425

+0

Helloworld-Funktion von storage.getNewsFeeds – helloworld

Antwort

-1

In Ihrem Controller müssen Sie ['$scope', function($scope){...}] hinzufügen. Ich glaube auch nicht, dass Sie ein angularjs-Modul innerhalb einer Funktion erstellen können, also sollten Sie das Modul und den Controller außerhalb der Funktion erstellen und die Dokumentation für $q lesen oder pures Javascript verwenden, um die newsFeedData so darzustellen, wie etwa:

var a = document.getElementByClassName('newsFeeds-box')[0] 
for (var i in resultSet){ 
    var b = document.createElement('article') 
    var c = document.createElement('p') 
    c.setAttribute('class', 'newsFeeds-title') 
    c.innerText = resultSet.id 
    a.appendChild(b); 
    b.appendChild(c); 
} 

Dies müsste optimiert werden, aber es sollte funktionieren.

0

Modulname hat Leerzeichen. Können Sie ersetzen var pkdNewsFeedsrun = angular.module(' pkdNewsFeeds ', []); durch var pkdNewsFeedsrun = angular.module('pkdNewsFeeds', []); und testen

+0

Ich überprüfe meinen Code pkdNewsFeedsrun.controller funktioniert nicht. ich benutze phonegap + angularjs – helloworld

Verwandte Themen