[英]How to change a $scope variable outside the controller in angularjs
我想在控制器外部更改$scope.outsidescope
。 我正在使用$routeProvider
來路由和更改控制器。 $scope.outsidescope
位於ng-view
。
我的問題是如何在ng-view
之外更改$scope.value
。
樣例代碼:
<html ng-app="Myapp">
.......
<body>
<div>
{{outsidescope}}
</div>
<div class="" data-ng-view></div>
</body>
</html>
角度代碼:
var app = angular.module('Myapp', ['ngRoute']).
config(['$routeProvider', function($routeProvider) {
$routeProvider
.when("/", {templateUrl: "partials/home4.html", controller: "PageCtrl"})
.otherwise({
redirectTo: '/pages/404'
})
}]);
app.controller('PageCtrl', ['$cookies',function ($scope) {
$scope.outsidescope = 'Some thing.';
}
使用$ rootScope而不是$ scope在整個應用程序中共享數據。 但是創建定制服務是最好的方法。
控制器之間只有兩種共享數據的方法
1)綁定$ rootScope中的數據2)綁定服務中的數據
無法在控制器外部更改$ scope,因為在控制器外部不可用。
如果要這樣做,可以使用父范圍$ rootScope,您可以在應用程序中的任何位置訪問它。
但是根據您的要求,最好使用ng-bind代替expression,並且在路由器中為每個URL都可以調用s resolve來將值分配給this值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.