Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJs在控制器内更改控制器?_Javascript_Angularjs_Angularjs Directive_Angular Ui Router_Materialize - Fatal编程技术网

Javascript AngularJs在控制器内更改控制器?

Javascript AngularJs在控制器内更改控制器?,javascript,angularjs,angularjs-directive,angular-ui-router,materialize,Javascript,Angularjs,Angularjs Directive,Angular Ui Router,Materialize,我有一个主页,其中登录和整个单页应用程序在一个html 因此,我使用ng隐藏了主要内容,请参见Index.html <body ng-controller="IndexController"> <div ng-if="!isLogin"> <!-- contain login codes--> <a href="#!Main" ng-click=login()>Login</a> <!-- login button--&

我有一个主页,其中登录和整个单页应用程序在一个html

因此,我使用ng隐藏了主要内容,请参见Index.html

<body ng-controller="IndexController">
<div ng-if="!isLogin">
<!-- contain login codes-->
 <a href="#!Main" ng-click=login()>Login</a>     <!-- login button-->

</div>
<div ng-if="isLogin">

<!-- I have a navbar code here that also needs data from IndexController -->

<section id="content">
  <div ng-view></div>
</section>

</div>
</body>
我在IndexController.js中有一个函数,可以为isLogin设置true或false

Index.html

<body ng-controller="IndexController">
<div ng-if="!isLogin">
<!-- contain login codes-->
 <a href="#!Main" ng-click=login()>Login</a>     <!-- login button-->

</div>
<div ng-if="isLogin">

<!-- I have a navbar code here that also needs data from IndexController -->

<section id="content">
  <div ng-view></div>
</section>

</div>
</body>
我将另一个设置为,这样在我隐藏登录页面后,将在ng视图中加载的第一个页面将是default.html,但问题是DashboardController不工作,除非我单击导航栏中的Dashboard按钮


那么,在隐藏登录页面后,如何运行仪表板控制器?

模板和控制器都是相同的。由于这是一个单页应用程序,除非您单击tab,否则不会调用它。将其设置为默认值,然后这通常不是处理登录/仪表板视图的正确方法。登录和仪表板分别使用两种不同的路由。@Lokesh,即使它是默认的。它仍然没有运行