簡體   English   中英

AngularJS如何從UI更改$ rootScope變量

[英]Angularjs how to change $rootScope variables from UI

我正在制作一個帶有角度的動態網頁,主頁上的內容應該更改,但是為了避免編寫太多代碼,我決定將其設為通用,但是要知道請求的內容類型,我需要發送此參數從帶有ng-click的鏈接/按鈕中,這不會有問題,但是當我必須更改控制器時,我無法讀取參數。

ng-click="name='Name change'"

在這里,我試圖更改名為name的$ rootScope變量,

ng-click="$rootScope.name='Name change'"

即使具有服務功能,但似乎無法正常工作(我對angularjs不太了解,所以我嘗試了)

 ng-click="$service.cambiarTipo='Name change'"

我做了一個矮人http://plnkr.co/edit/1BN76SbUAHuOSHs02gpL?p=preview

如果您檢查控制台日志,您將看到它是未定義的變量,顯然,如果我從一個控制器更改了$ rootScope.name時,我可以從另一個控制器中看到它,但這沒有用,因為我需要該用戶的供稿而不是控制器。

我如何從HTML更改rootScope變量?

您確實不應該太多地使用$ rootScope,更不用說從模板修改它了。 這樣,您可以將$ rootScope分配給$ scope變量,並像普通作用域變量一樣從模板進行訪問。 矮人

控制器: $scope.rs = $rootScope

模板: rs.name = 'Name Change'

我要重申,這不是您應該做的事情,因為它與角度方式背道而馳。

這是一個使用兩個控制器之間的共享服務而不使用$ rootscope的方法。 http://plnkr.co/edit/maKNHgVH20GxTJeCEveh

請注意,ng-click正在調用服務功能。 我假設該函數用於更改名稱。

ng-click="service.cambiarTipo('Name change')"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM