Javascript 如何在指令内调用函数 从另一个模块调用变量

Javascript 如何在指令内调用函数 从另一个模块调用变量,javascript,angularjs,Javascript,Angularjs,我有一个播放器,显示当前或最新播放的歌曲。现在,为了保持内容的更新。我使用$interval和$scope.$watch来注册播放歌曲,这将显示在开发人员控制台中 现在,每次检测到songname中的更改时,我都要触发触发加载函数的变量链接,这基本上就是需要触发的。但是,varbiale位于不同的模块中。 我怎么称呼它 我对AngularJS不太熟悉,无法真正编辑代码,但我成功地获得了更新的歌曲信息,并使用了if语句,因此只有在检测到两个函数CurrentSong和LatestSong之间的更改

我有一个播放器,显示当前或最新播放的歌曲。现在,为了保持内容的更新。我使用$interval和$scope.$watch来注册播放歌曲,这将显示在开发人员控制台中

现在,每次检测到songname中的更改时,我都要触发触发加载函数的变量链接,这基本上就是需要触发的。但是,varbiale位于不同的模块中。 我怎么称呼它

我对AngularJS不太熟悉,无法真正编辑代码,但我成功地获得了更新的歌曲信息,并使用了if语句,因此只有在检测到两个函数CurrentSong和LatestSong之间的更改时才会触发

我终于明白了! 我通过反复试验,终于解决了这个问题

解决方案其实很简单,因为我知道我已经接近了

$scope.lastFmConfig = {
            apiKey: 'API',
            user: 'USER',
            containerClass: 'content'
        };

        $scope.$watch('currentsongs', function (CurrentSong, LatestSong) {
            if (CurrentSong != LatestSong) {
                console.log("Change detected");
                console.log($scope.songdata);
                $scope.lastFmConfig = {
            apiKey: 'API',
            user: 'USER',
            containerClass: 'content'
        };
            }
我只是在检测到更改后再次运行lastFmConfig


希望它能帮到别人。

你应该通过服务共享一个对象来进行这种操作。@briosheje你能给我一个如何修复它的例子吗?看起来加载函数在另一个模块的指令中。在指令中调用函数有几种方法。一种方法是使用和@georgeawg再次感谢您的评论。你能为我做一把小提琴吗我一直被卡住,我对angularjs的了解也很少。
angular.module('lastfm-nowplaying', [])
    .directive('lastfmnowplaying', ['uiCreation', 'lastFmAPI', 'lastFmParser', function (uiCreation, lastFmAPI, lastFmParser) {
        var link = function (scope, element, attrs) {
            scope.$watch('config', function (value) {
                load();
            });

            var load = function () {....
$scope.lastFmConfig = {
            apiKey: 'API',
            user: 'USER',
            containerClass: 'content'
        };

        $scope.$watch('currentsongs', function (CurrentSong, LatestSong) {
            if (CurrentSong != LatestSong) {
                console.log("Change detected");
                console.log($scope.songdata);
                $scope.lastFmConfig = {
            apiKey: 'API',
            user: 'USER',
            containerClass: 'content'
        };
            }