TypeError: $scope.apply is not a function

匿名 (未验证) 提交于 2019-12-03 08:33:39

问题:

I am trying to render the contacts list after retrieving it thru rdflib.js. It is loading properly and saving it in the list inside the scope.

But I am not able to render sine the $scope doesn't update, it seems like I am calling $scope.apply() in the wrong place. The error occurs because I call it outside angular, but I am deliberately calling it inside the function that is outside angular context (nowOrWhenFetched), so not making sense for me. any help?

$scope.load = function () {     //$scope.getContactsList();     var g = $rdf.graph();     var f = $rdf.fetcher(g);      f.nowOrWhenFetched($scope.path + '*',undefined,function(){      var DC = $rdf.Namespace('http://purl.org/dc/elements/1.1/');     var RDF = $rdf.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');     var LDP = $rdf.Namespace('http://www.w3.org/ns/ldp#');     //var myOntology = $rdf.Namespace('http://user.pds.org/ontology/');      var VCARD = $rdf.Namespace('http://www.w3.org/2006/vcard/ns#');      var evs = g.statementsMatching(undefined, RDF('type'), VCARD('Individual'));     if (evs != undefined) {         for (var e in evs) {             var id = evs[e]['subject']['value'];             var fullname = g.anyStatementMatching(evs[e]['subject'], VCARD('fn'))['object']['value'];             var email = g.anyStatementMatching(evs[e]['subject'], VCARD('hasEmail'))['object']['value'];             var phone = g.anyStatementMatching(evs[e]['subject'], VCARD('hasTelephone'))['object']['value'];              var contact = {                 id: id.slice(id.length-1),                 Name: fullname,                 Email: email,                 Phone: phone              };              $scope.contacts.push(contact);         }      }      $scope.apply();      });  }; 

回答1:

The function is $apply(), with the $.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!