2016-10-10 4 views
0

Ich möchte einen einzigartigen Controller innerhalb und außerhalb Ui-View verwenden. Mit ng-Inspector sehe ich <div ui-view> hat eine andere Instanz von myController, nicht sicher warum.Controller außerhalb ui-view

<div class="container" ng-controller="myController"> 
    ::{{_path}} 
    <a ng-click="action()">action</a> 
    <div ui-view class="view"></div> 
</div> 

app.controller("myController",function ($scope) { 
     $scope.action = function(){ 
      $scope._path= "changed"; 
     } 
}); 

Das Ergebnis dieses Problem ist, wenn ich auf <button ng-click="action()">action</button> klicken ich die Änderungen in _path zu sehen, wenn die gleiche Taste innerhalb ui-Ansicht ist, tut _path nicht ändert. Wie kann ich das schaffen?

Antwort

2

Wenn Sie Ihren Zustand definieren können Sie den Controller legen Sie innerhalb Ihrer Ansicht verwenden möchten, wie folgt:

$stateProvider.state('myState', { 
    url: '/my-state', 
    templateUrl: '/templates/my-state.html', 
    controller: 'myController' 
}); 

Hoffnung, das hilft.

+0

Es funktioniert auch nicht ... – alfredopacino

+0

Können Sie mir zeigen, wie Sie Ihren Zustand definieren? Gibt es auch einen besonderen Grund, den Controller außerhalb Ihrer UI-View zu haben? – Aibu

+0

ok Ich finde es heraus, es war nur ich verloren in 4 verschachtelte Ansicht (eine davon hatte eine andere ng-Controller-Direktive). – alfredopacino

Verwandte Themen