0

次のように $routeProvider でコントローラーを呼び出します。

$routeProvider
    .when('/home', {
        templateUrl: "partials/main.html",
        controller: "AppCtrl"
    });

$scopeそのため、コントローラー内ののフォーカスは、 のコンテンツのみを変更しpartials/main.htmlます。index.html で
変更する必要がありますが、コントローラーで変更しても変更されず、main.html にある場合にのみ変更されます。 どうすればこれを機能させることができますか? どうもありがとうございました。{{status}}$scope.status = 'ready';

4

1 に答える 1

1

AppCtrlに関連付けられたスコープは、通常、index.htmlで定義したコントローラーに関連付けられたスコープから継承する必要があります。そのコントローラーでメソッドを定義すると、子コントローラー/スコープからメソッドを呼び出すことができます(JavaScriptのプロトタイプの継承が機能するため)。

function MainCtrl($scope) {
   $scope.updateStatus = function(newStatus) {
       $scope.status = newStatus;
   }
}

function AppCtrl($scope) {
   ...
   $scope.updateStatus(....);
}

フィドル。フィドルでは、ng-viewは使用しませんが、それでも概念を示しています。

于 2013-03-13T22:38:43.487 に答える