我正在使用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>
答案 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);
}
这必须进行优化,但它应该有效。