javascript - 使用 Angular 在 View 中打印全局变量

标签 javascript angularjs

我有一个带有全局变量的应用程序(实际全局变量,而不是 $rootScope)。我需要使用 {{ }} 表达式将它打印到 View 中。我怎样才能将当前 Controller 的 $scope 变量关联到这个全局变量,这样我总能在屏幕上打印出这个全局变量的最新值。

编辑:代码:

app.controller('placesCtrl', ['$scope','$rootScope',function($scope, $rootScope){
    $scope.place = place;
}]);

var autocomplete,map,place = {};
place.name = "asdf";
function initAutocomplete() {
    ...

    //Initialize google maps autocomplete
    //Add event listener

    autocomplete.addListener('place_changed', function() {

    //update place            
        place = autocomplete.getPlace();
        console.log(place);

        if (!place.geometry) {
            window.alert("No such city found!");
            return;
        }

      });
}

最佳答案

如果 myGlobal 是一个对象,对它的简单引用就足够了:

$rootScope.myGlobal = myGlobal;

现在,如果它是一个原始值,例如字符串或数字(或者如果您更改对象的引用),您可以对其使用闭包:

$rootScope.getMyGlobal = function() { return myGlobal; }

然后在你的 HTML 中写:

<div>{{getMyGlobal()}}</div>

关于javascript - 使用 Angular 在 View 中打印全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37034478/

相关文章:

javascript - 如何在 JQUERY 中重写点击 url? (查询)

javascript - ng-model 一次更改所有选择

javascript - AngularJS - html 中的范围变量语法

javascript - 任何人都可以提供一个 angularjs 设置的示例,该示例轮询数据并在收到数据时更新 UI 吗?

angularjs - 如何在模板中设置范围?

javascript - 如何使用 angularJs 创建具有连续数字的多维矩阵

javascript - 在文本区域中输入时检测新行

php - 为什么选择选项上的 .click() 只能在 Firefox 上使用?

javascript - YUI 编辑器 : <p> instead <br> on linebreak?

javascript - Angular : attach $viewContentLoaded to manually bootstraped app