我正在使用angular 1.3
这里的Plunker代码http://plnkr.co/edit/J7TSfUcNID11BZBEaBBr?p=preview
在我的代码中,我有ngRoute为索引页面定义了一个控制器,它实现了如下的提取。
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: '/assets/app/html/home.partial.html',
controller: function($scope) {
$scope.fetch = function(purchase) {
console.log("fetch is called, load data and show the grid");
$scope.grid = {};
$scope.grid.isActive = true;
//how to refresh purchases directive from here
//it should also pass the from and to dates
//based on that purchases will fetch the backend data
}
}
})
}]);
我有一个指示购买,我试图重新加载,包括通过资源获取数据。当日期发生变化时,我想从后端再次查询数据并在Purchases指令内的网格上刷新它。
我使用ngResource插件,因此可以整理从后端获取数据。 加载页面时,链接功能只运行一次。
将from和to日期传递给指令的最佳方法是什么(检查plunker index.html)?
当日期改变时,我没有看到指令(链接功能)捡起它。我尝试了html id,名称和模型,但没有一个工作。
答案 0 :(得分:0)
我假设您正在获取数据并将其提供给导演以根据它进行渲染。记住这一点有一个简单的方法来刷新"该指令及其使用ng-if。如果ng-if中的表达式为false,那么该指令将被销毁,如果它是真的则会被新实例化。如果基于新数据新实例化,那么它也将显示新数据。这是刷新指令的一种方法。
理想情况下,您的网格应根据AngularJS是否具有双向绑定而更改数据而无缝更改。如果您的代码不是以这种方式创建的,那么您只需使用ng-if。
刷新指令