在 AngularJS 控制器之间传递变量
在 AngularJS 控制器之间传递变量是应用程序开发中的常见任务。一种方法是创建一个服务来跨控制器共享变量。
创建共享服务
angular.module('myApp', []) .service('sharedProperties', function () { var property = 'First'; return { getProperty: function () { return property; }, setProperty: function(value) { property = value; } }; });
使用服务
在控制器中,注入共享service:
function Ctrl2($scope, sharedProperties) { $scope.prop2 = "Second"; $scope.both = sharedProperties.getProperty() + $scope.prop2; }
注意事项
对于跨控制器工作的绑定,最好绑定到对象的属性而不是基元类型。
// Avoid using primitive types var property = 'First'; // Use objects var property = { Property1: 'First' };
示例
请参阅[这个小提琴](https://jsfiddle.net/philipjohnson/34qhw/) 的示例,演示:
绑定到随着值变化而更新 UI 的共享值
以上是如何在 AngularJS 控制器之间有效地传递变量?的详细内容。更多信息请关注PHP中文网其他相关文章!