在控制器、指令和服务之间传递和操作数据——angularJS

在控制器、指令和服务之间传递和操作数据——angularJS,angularjs,asynchronous,controller,directive,Angularjs,Asynchronous,Controller,Directive,我的测角技能不是很好,我遇到了一个阻碍我进步的问题 最初我有一个主控制器和5条指令。指令和主控制器愉快地一起工作,通过作用域向主控制器传递数据或从主控制器传递数据。直到第5条指令要求计算所有其他指令的数据。我尝试将所有指令中的数据传递给主控制器,然后将其传递给第5个指令。但不幸的是,由于数据和js都是异步的,所以它不起作用,也就是说,在代码的某些部分它没有被更新,而我一直得到null。我试着放一块美元的手表,即使它不起作用 在一位同事的推荐下,我引入了一种在指令和控制器之间传输数据的服务。不,我

我的测角技能不是很好,我遇到了一个阻碍我进步的问题

最初我有一个主控制器和5条指令。指令和主控制器愉快地一起工作,通过作用域向主控制器传递数据或从主控制器传递数据。直到第5条指令要求计算所有其他指令的数据。我尝试将所有指令中的数据传递给主控制器,然后将其传递给第5个指令。但不幸的是,由于数据和js都是异步的,所以它不起作用,也就是说,在代码的某些部分它没有被更新,而我一直得到null。我试着放一块美元的手表,即使它不起作用

在一位同事的推荐下,我引入了一种在指令和控制器之间传输数据的服务。不,我有一个主控制器,几个指令和一个服务

该服务通过多个查询从DB为每个指令加载数据。每个指令都对它们的数据集执行计算。但仍然存在同样的问题,即代码中不同点的数据不可用/未定义。我不知道还能做什么。如果有人能提出一个解决方案,这将是一个巨大的帮助


提前谢谢

您好。目前还没有足够的信息来提供一个具体的有用的解决方案,因为这个问题是目前编写的。我建议签出并删除。代码太多,因此无法在此处共享代码。但我将通过提供结构的详细信息来改进这个问题。您可以尝试将指令变量初始化为空,然后根据需要将数据分配给它们。请确保您的指令处理所有必需数据/变量的空条件。我正在尝试处理空/未定义值的条件,但另一个障碍是$watch不能为多个变量正常工作。即使手表工作正常,代码有时也无法通过条件。可能是因为我认为服务的价值没有及时得到更新。例如如果我执行$scope.data1=service.data1;此时未定义service.data1。如何协调地管理代码中数据的传输和操作。您好。目前还没有足够的信息来提供一个具体的有用的解决方案,因为这个问题是目前编写的。我建议签出并删除。代码太多,因此无法在此处共享代码。但我将通过提供结构的详细信息来改进这个问题。您可以尝试将指令变量初始化为空,然后根据需要将数据分配给它们。请确保您的指令处理所有必需数据/变量的空条件。我正在尝试处理空/未定义值的条件,但另一个障碍是$watch不能为多个变量正常工作。即使手表工作正常,代码有时也无法通过条件。可能是因为我认为服务的价值没有及时得到更新。例如如果我执行$scope.data1=service.data1;此时未定义service.data1。如何协调地管理代码中数据的传输和操作。