gpt4 book ai didi

angularjs - 当 AngularJS 中的范围发生更改时刷新 Controller 中的数据

转载 作者:行者123 更新时间:2023-12-02 23:23:23 24 4
gpt4 key购买 nike

我对 Angular 还很陌生,我在这里阅读了很多帖子并用谷歌搜索了这个主题,但我无法得到明确的答案。我真正想要实现的是。假设我有一个 Controller A,这是数据的实际来源。我通过将其绑定(bind)到 HTML 将其传递给一个指令。从这个指令我实际上得到了另一个 Controller 的源代码。所以我需要找到当 Controller A的数据改变时我可以改变 Controller 的数据的方法。

Controller A

angular.module('page.leadAndOpportunity.ctrl', []).controller('LeadAndOpportunityController', ['$scope', '$rootScope', '$timeout', function ($scope, $rootScope, $timeout, leadAndOpportunityService) {

$scope.selectDataSource = function (condition) {
var dataSource = [];
var dataSource = $scope.leadsDataSource.filter(function (item) {
return item.typeName === condition;
});
$scope.leadsDataSource = [];
$scope.leadsDataSource = dataSource;
console.log($scope.leadsDataSource);
}

}]);

HTML

<ng-senab-grid datasource="{{ leadsDataSource }}" defaultdata="{{defaultColumns}}" skipdata="{{ skipColumns }}" enablepersonalisation="true"></ng-senab-grid>

指令

angular.module('page.gridView.drct', []).directive("ngSenabGrid", ["$rootScope", function ($rootScope) {
return {
restrict: "E",
templateUrl: "pages/gridView/page.gridView.tpl.html",
scope: {
enablePersonalisation: "@enablepersonalisation",
datasource: "@datasource",
defaultdata: "@defaultdata",
skipdata: "@skipdata"
},
}
}]
);

Controller B

 var _datasource = JSON.parse($scope.datasource);
//rest the data follows

因此,当 $scope.leadsDataSource Controller A 上获取更改时,

var _datasource = JSON.parse($scope.datasource);

也应该改变

不知道可不可以。但我需要更改数据提前致谢

最佳答案

删除变量的大括号。因为这是指令,不需要添加大括号

<ng-senab-grid datasource="leadsDataSource" defaultdata="defaultColumns" skipdata="skipColumns" enablepersonalisation="true"></ng-senab-grid>

如果你想获取变量的值,那么使用“=”,如果你使用“&”,它只会获取字符串

 scope: {
enablePersonalisation: "=enablepersonalisation",
datasource: "=datasource",
defaultdata: "=defaultdata",
skipdata: "=skipdata"
},

还将指令模块注入(inject)到你的 Angular 模块

angular.module('page.leadAndOpportunity.ctrl', ['page.gridView.drct'])

关于angularjs - 当 AngularJS 中的范围发生更改时刷新 Controller 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37857627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com