[英]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.