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

如何以编程方式从服务器重新加载/刷新模型数据?

谢奇略
2023-03-14
问题内容

我有最基本的“新手”
AngularJS问题,请原谅我的无知:如何通过代码刷新模型?我确定它在某处已被多次回答,但我根本找不到。我在http://egghead.io上观看了一些很棒的视频,并快速浏览了该教程,但是我仍然觉得我缺少一些非常基本的东西。

我在($route.reload())找到了一个相关示例,但不确定在下面的示例中如何使用它

这是设置

controllers.js

function PersonListCtrl($scope, $http) {
  $http.get('/persons').success(function(data) {
    $scope.persons = data;
  });
}

index.html

...
<div>
    <ul ng-controller="PersonListCtrl">
        <li ng-repeat="person in persons">
            Name: {{person.name}}, Age {{person.age}}
        </li>
    </ul>
</div>
...

一切都非常好,每次重新加载页面时,我都会看到预期的人员列表

问题

  1. 假设我要实现一个刷新按钮,如何告诉模型以编程方式重新加载?
  2. 如何访问模型?看来Angular神奇地实例化了我的控制器的实例,但是我该如何使用它呢?
  3. EDIT 添加了第三个问题,与#1相同,但是如何仅通过JavaScript完成呢?

我确定我缺少一些基本的知识,但是花了一个小时试图弄清楚之后,我认为这是一个问题。请让我知道它是否重复,我将关闭+链接。


问题答案:

您自己就到了一半。要实现刷新,只需将作用域中已经包含的内容包装起来:

function PersonListCtrl($scope, $http) {
  $scope.loadData = function () {
     $http.get('/persons').success(function(data) {
       $scope.persons = data;
     });
  };

  //initial load
  $scope.loadData();
}

然后在您的标记中

<div ng-controller="PersonListCtrl">
    <ul>
        <li ng-repeat="person in persons">
            Name: {{person.name}}, Age {{person.age}}
        </li>
    </ul>
   <button ng-click="loadData()">Refresh</button>
</div>

至于“访问模型”,您所需要做的就是访问控制器中的$ scope.persons数组:

例如,在您的控制器中(仅是puedo代码):

$scope.addPerson = function() {
     $scope.persons.push({ name: 'Test Monkey' });
};

然后,您可以在自己的视图中使用它,也可以随便使用它。



 类似资料:
  • 问题内容: 我知道有一个reloadDefaultConfiguration()jmx操作,但是没有获取MBean实例并调用此操作,是否有一个Logback api重新加载默认配置(可以选择指定日志配置文件路径)? 问题答案: 这是以下代码的源代码: 只在需要的地方运行此代码呢? 唯一的问题是变量。您可以使用以下方法获取它: 不幸的是,似乎没有完善的API可以做到这一点,那么引发问题呢?您是否还知

  • 问题内容: 我正在尝试实现一些功能,即单击屏幕上的按钮将导致我的[QuerydataTable刷新(因为自创建dataTable以来服务器端数据源可能已更改)。 这是我所拥有的: 但是当我运行它时,它什么也没做。单击按钮时刷新dataTable的正确方法是什么?提前致谢! 问题答案: 您可以尝试以下方法:

  • 问题内容: 我正在使用Java进行项目,因此需要在单击特定按钮后重新加载整个程序。这该怎么做? 问题答案: 尝试 如果仍然无法使用,请在完成上述步骤后尝试

  • 问题内容: 这是一个非常基本的问题-但我无法通过在线搜索找到答案。 我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。 但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。 我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路

  • 我在JBoss7中部署了一个WAR,它使用上下文类加载器动态加载jar资源。 但是,上下文类加载器只在WEB-INF/lib文件夹中查找资源 Service Module Loader中模块“Deployment..war:main”的ModuleClassLoader 我如何在jboss中为我拥有资源的特定模块获取类加载器。我有需要加载到jboss_home/modules/org/custom