您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

AngularJS:如何在控制器之间传递变量?

AngularJS:如何在控制器之间传递变量?

在多个控制器之间共享变量的一种方法是创建服务并将其注入到要使用它的任何控制器中。

angular.module('myApp', [])
    .service('sharedProperties', function () {
        var property = 'First';

        return {
            getProperty: function () {
                return property;
            },
            setProperty: function(value) {
                property = value;
            }
        };
    });

function Ctrl2($scope, sharedProperties) {
    $scope.prop2 = "Second";
    $scope.both = sharedProperties.getproperty() + $scope.prop2;
}

我发现,如果要跨多个控制器绑定到这些属性,则如果绑定到对象的属性而不是原始类型(布尔,字符串,数字)来保留绑定的引用,则效果更好。

示例:var property = { Property1: 'First' };代替var property = 'First';

为了(希望)使事情变得更清楚,here is a fiddle ,其中显示了以下示例:

其他 2022/1/1 18:15:08 有426人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶