versiones varios otro llamar funcion entre ejemplos ejemplo controladores controlador comunicacion javascript angularjs angularjs-directive angularjs-scope prototypal-inheritance

javascript - varios - Cómo actualizar el objeto `$ scope` desde el controlador` directive`



varios controladores angularjs (1)

Estoy tratando de actualizar el objeto $scope desde el controlador, pero no se está actualizando. pero en la consola me estoy actualizando.

aquí está mi código:

var galleryMenu = [''$route'', function ($route) { return { scope : true, replace : true, template : function () { var page = $route.current.className || ''home''; return galleryMenuItem(page); }, controller : function ($scope, $element) { $scope.galleryProject = function () { $scope.galleryShow = !$scope.galleryShow; console.log($scope.galleryShow) //gives me true, but `DOM` not updating. } } } }];


Su directiva utiliza el scope: true significa que ha creado un ámbito heredado prototípicamente del ámbito principal.

Entonces tu objeto galleryShow debería seguir dot rule

$scope.model = {}; $scope.model.galleryShow = ''something'';

Entonces, en su directiva podría obtener el objeto $scope.model por herencia de prototipales y podría cambiarlo por $scope.model.galleryShow cambiará el alcance principal.

Controlador directivo

controller : function ($scope, $element) { $scope.galleryProject = function () { $scope.model.galleryShow = !$scope.galleryShow; console.log($scope.model.galleryShow) //gives me true, but `DOM` not updating. } }