Как передать переменные между html в angularjs? - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь использовать $rootScope для передачи логического значения между двумя файлами и работает отлично ... РАЗ. Затем он не меняется даже при появлении журнала CLICKED.

Что за черт ??

navbar. html

ng-click="openRightSideMenu(); // Works well

navbar. js

$scope.openRightSideMenu = () => {
     console.log("CLICKED") // this always logs, so ng-click is working well
     $rootScope.rightSideMenuOpen = true; // Opens the sideMenu but ONLY WORKS ONCE!! It's not change to true the second time
}

sideMenu. html

ng-class="rightSideMenuOpen ? 'open' : 'closed'" // Toogle between open
            // and closed, works well but I cannot open the second time

ng-click="rightSideMenuOpen = false" // Close works well

Любая идея, почему $rootScope.rightSideMenuOpen работает только один раз и не изменяется во второй раз ??

1 Ответ

1 голос
/ 26 марта 2020

У вас проблема со скрытием данных.

ng-click устанавливает свойство rightSideMenuOpen локальной области видимости элемента. Это скрывает значение этого свойства в $ rootScope.

ng-class="rightSideMenuOpen ? 'open' : 'closed'" // Toogle between open
            // and closed, works well but I cannot open the second time

̶n̶g̶-̶c̶l̶i̶c̶k̶=̶"̶r̶i̶g̶h̶t̶S̶i̶d̶e̶M̶e̶n̶u̶O̶p̶e̶n̶ ̶=̶ ̶f̶a̶l̶s̶e̶"̶
ng-click="$root.rightSideMenuOpen = false"

Таким образом, ng-click изменяет свойство в $ rootScope.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...