1. ホーム
  2. ジャバスクリプト

[解決済み】AngularJS : コントローラ関数からビューを切り替えるにはどうすればよいですか?

2022-04-04 01:34:13

質問

を使おうとしています。 エヌジークリック の機能を使って、ビューを切り替えることができます。以下のようなコードで、どのようにすればいいのでしょうか?

索引.html

 <div ng-controller="Cntrl">
        <div ng-click="someFunction()">
            click me
        <div>
    <div>

controller.js

  function Cntrl ($scope) {
        $scope.someFunction = function(){
            //code to change view?
        }
    }

どのように解決するのですか?

異なるビューを切り替えるには、ウィンドウの位置を直接変更します($location サービスを使用します!)。 index.htmlファイル

<div ng-controller="Cntrl">
        <div ng-click="changeView('edit')">
            edit
        </div>
        <div ng-click="changeView('preview')">
            preview
        </div>
</div>

コントローラ.js

function Cntrl ($scope,$location) {
        $scope.changeView = function(view){
            $location.path(view); // path not hash
        }
    }

で、場所によって異なるパーシャルに切り替えるようにルータを設定します ( ここに示すように https://github.com/angular/angular-seed/blob/master/app/app.js ). これは、ng-viewを使用するのと同様に、履歴の利点があります。

または、ここに示すように、異なるパーシャルでng-includeを使用し、ng-switchを使用します( https://github.com/ganarajpr/Angular-UI-Components/blob/master/index.html )