我是一个完全的初学者,我不知道,如何包括库和注入模块,所以请耐心等待。这是我想要包含的模块:https://github.com/mgcrea/angular-pull-to-refresh
我用bower安装模块并成功链接它们。并且应该在app.component.html中吗?或者我应该将它链接到我显示数据的组件命名列表(list.component.html
)中,我想用下拉刷新它?
你能指出我正确的方向,把这条线放在哪里以及'myApp'在这里代表什么。
- 将mgcrea.pullToRefresh
模块注入您的应用程序:
angular.module('myApp', ['mgcrea.pullToRefresh']);
在这个例子中,pull-to-refresh
属性被调用并且在函数onReload()中。这个功能应该放在哪里?
谢谢大家阅读和帮助我!
我设法通过这个插件获得工作拉动:https://github.com/BoxFactura/pulltorefresh.js这是如何:
用插件安装插件和@types
npm install pulltorefreshjs --save
npm install @types/pulltorefreshjs --save
然后在app.components.ts中导入它
import * as PullToRefresh from 'pulltorefreshjs';
并在app.components.ts中初始化它:
ptrinit:any = PullToRefresh.init();
根据网站,你可以在你的js文件中这样做:
'use strict';
angular.module('myApp', ['mgcrea.pullToRefresh']);
angular.module('myApp')
.controller('AppCtrl', function($scope, $q) {
$scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas'];
$scope.onReload = function() {
console.warn('reload');
var deferred = $q.defer();
setTimeout(function() {
deferred.resolve(true);
}, 1000);
return deferred.promise;
};
});
在index.html文件中:
<body ontouchstart="" ng-controller="AppCtrl">
<div class="content">
<ul class="list-group list-group-table" pull-to-refresh="onReload()">
<li class="list-group-item" ng-repeat="state in states" ng-bind="state"></li>
</ul>
</div>
通过在页面的body标签中添加ng-controller指令,您可以知道哪个控制器将处理页面的哪个部分。在这种情况下,AppCtrl控制器。您可以有多个控制器负责页面的不同部分,如div,body或一个负责整个页面的控制器,如html标签。
希望这有帮助!