angularjs在我自己的功能中不起作用

时间:2017-01-27 22:38:31

标签: javascript angularjs cordova

我正在使用phonegap plus angularjs。我的问题是在对象函数中调用函数。我展示了我的代码。我不明白如何解决这个问题。我想在对象函数中调用 helloworld 函数。

<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>

2 个答案:

答案 0 :(得分:0)

模块名称有空格。 您可以将$0替换为var pkdNewsFeedsrun = angular.module(' pkdNewsFeeds ', []); 吗? 并测试

答案 1 :(得分:-1)

在您的控制器中,您需要添加['$scope', function($scope){...}]。另外我认为你不能在函数内部创建一个angularjs模块,所以你应该在函数之外创建模块和控制器,并查看$q的文档或使用纯javascript来呈现newsFeedData可能是这样的:

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);
}

这必须进行优化,但它应该有效。