簡體   English   中英

在AngularJS中的另一個模塊中調用控制器中的函數

[英]Call a function in a controller in another module in AngularJS

我在另一個模塊中的另一個控制器中調用函數時遇到問題。 我不知道這是否可行,但這就是我現在所擁有的:

angular.module('search.controllers', ['socket.services', 'recipe.controllers'])
    .controller('SearchCtrl', ['$scope', '$state', 'socketService', 'recipeCtrl', 
        function($scope, $state, socketService, recipeCtrl) {
            recipeCtrl.setRecipe({});
        }
]);

angular.module('recipe.controllers', [])
    .controller('recipeCtrl', 
        function($scope) {
            this.onRecipeSelect = function(recipe) {
                console.log(JSON.stringify(recipe));
            }
        }
    );

這給了我錯誤:

Unknown provider: recipeCtrlProvider <- recipeCtrl <- SearchCtrl

任何人都知道如何完成我想要做的事情?

控制器不能注入,因此簡單不起作用。 您需要使用您的功能創建服務並注入此服務。

如果您需要在控制器之間交換數據,最好的選擇是使用事件,但您的控制器需要嵌套才能通過范圍進行通信。

最后一個資源應該使用rootScope並監視值,但不建議這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM