gpt4 book ai didi

javascript - Angular JS 中从父指令获取子指令中的数据

转载 作者:行者123 更新时间:2023-11-27 23:49:56 25 4
gpt4 key购买 nike

我有一个父指令,其中它的 Controller 通过服务进行调用以获取一些数据。

sharedService.getData(options).then(function(data){
$scope.data = data;
});

现在我的子 Controller 中需要这些数据。

我已经尝试过的是 ff:1)通过 $timeout 我在一段时间后获取数据,但这似乎不是一个影响性能的好解决方案

2) watchCollection() - 我观察了 newValue !== oldValue问题是数据很大,因此会影响性能

现在我遇到的问题是子指令在父指令之后但在数据从服务返回之前执行,并且我无法通过 $scope.data 在子指令中获取该数据。

当我必须等待父指令中的数据时,是否有任何解决方案可以将数据从父指令获取到子指令?

最佳答案

您可以使用 require 将父指令 Controller 包含在子指令中.

angular.module('myApp', [])
.directive('dirParent', function() {
return {
restrict: 'E',
scope: {},
controller: ['$scope', function($scope) {

}],

};
})
.directive('dirChild', function() {
return {
require: '^dirParent', // include directive controller
restrict: 'E',
scope: {

},
link: function(scope, element, attrs, paretCtrl) {
var data = paretCtrl.getMyData();
}
};

})

关于javascript - Angular JS 中从父指令获取子指令中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32806664/

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