当前位置: 首页 > 面试题库 >

角度:访问控制器中的资源值

越俊艾
2023-03-14
问题内容

我在javascript上非常糟糕,而且对Angular还是很陌生,所以请耐心等待。

我的服务器返回此消息:

{"latitude": 3.172398, "name": "Event", "longitude": 101.6739005}

services.js

var mapModule = angular.module('map.services', ['ngResource']);

mapModule.factory('Event', function($resource) {
    return $resource('/custom_api/get_event_details/:eventId/',
        {eventId: '@id'});
});

controller.js

function mapCtrl($scope, Event) {
    var eventDetail = Event.get({eventId: $scope.eventId});
    console.log(eventDetail);
    console.log(eventDetail.latitude);
}

我正在尝试通过访问服务器返回的json,eventDetail.latitude但我正在获取undefined

在控制台中,console.log(eventDetail)如下所示:

e {$get: function, $save: function, $query: function, $remove: function, $delete: function}
latitude: 3.172398
longitude: 101.6739005
name: "abc"
__proto__: e

我得到的eventDetail是一个resource实例,但是如何直接获取值呢?

如果已$scope.eventDetail在控制器中进行设置,则可以通过{{ eventDetail.latitude }}模板访问它。

我到底如何在控制器中执行此操作?


问题答案:

从文档:

重要的是要意识到调用$ resource对象方法会立即返回空引用(对象或数组取决于isArray)。从服务器返回数据后,将使用实际数据填充现有引用。

因此,除非将其放入回调函数中,否则您的日志记录将无法正常工作,如下所示:

function mapCtrl($scope, Event) {
  Event.get({eventId: $scope.eventId},function(eventDetail){
    //on success callback function
    console.log(eventDetail);
    console.log(eventDetail.latitude);
  });
}

如果您由于某种原因不想使用a
resource,可以使用该$http服务:

$http.get(url).then(function(response){console.log(response.data);});


 类似资料:
  • 资源控制器 资源控制器可以让你轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如: // 生成index模块的Blog资源控制器 php think make:controller index/Blog 或者使用完整的命名空间生成 php think make:controller app\index\controller\Blog 然后你只需要为资源控制器注册一个资源路

  • 我在从node.js服务器获取数据时遇到问题。 客户端是: 在服务器端,我还设置了标题: 但我犯了个错误 "XMLHttpRequest无法加载http://localhost:3003/get_testlines.对预试请求的响应没有通过权限改造检查:请求的资源上没有'Access-Control-Prover-Origin'标头。因此,来源http://localhost:3000不允许进入。

  • 我附上了一张我想从Chrome控制台运行的点击操作的图片,并传递了各种值。该按钮在inspect元素的右上角以灰色突出显示。这是我想学习如何访问/使用的函数。 按钮元素位于

  • 问题内容: 是否可以使用任何基于角色的开源访问控制系统? 问题答案: 布兰登·萨维奇(Brandon Savage)在他的PHP软件包“ ApplicationACL ” 上做了一个演示,该演示可能会或可能不会完成基于角色的访问。PHPGACL可能也能正常工作,但是我不能肯定地告诉您。 但是,我可以告诉您的是Zend Framework 的Zend_ACL组件将执行基于角色的设置(但是您必须子类化

  • 角色定义 [role_definition] 是RBAC角色继承关系的定义。 Casbin 支持 RBAC 系统的多个实例, 例如, 用户可以具有角色及其继承关系, 资源也可以具有角色及其继承关系。 这两个 RBAC 系统不会互相干扰。 此部分是可选的。 如果在模型中不使用 RBAC 角色, 则省略此部分。 [role_definition] g = _, _ g2 = _, _ 上述角色定义表