Javascript 带有父子控制器的ng角度开关
我有以下HTMLJavascript 带有父子控制器的ng角度开关,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我有以下HTML <html ng-app="app" ng-csp=""> <body ng-controller="MainController" capture ng-class="view"> <div id="wrap" ng-switch="view"> <div id="login" ng-switch-when="login" ng-controller="SignInController">
<html ng-app="app" ng-csp="">
<body ng-controller="MainController" capture ng-class="view">
<div id="wrap" ng-switch="view">
<div id="login" ng-switch-when="login" ng-controller="SignInController">
my login code
</div>
<div id="project" ng-switch-when="project" ng-controller="ProjectController">
my login code
</div>
</div>
</body>
</html>
现在我的梦想不是成功。
编辑:
这里是朋克链接
当我点击登录按钮时,我想显示项目切换
有什么建议吗
谢谢,我想你弄错了。的语法为:
我想你弄错了。的语法为:
您是否尝试过:
<div id="wrap" ng-switch on="view">
您是否尝试过:
<div id="wrap" ng-switch on="view">
我的登录码
我的登录码
使用此html
我的登录码
我的登录码
使用此html问题在于控制器之间不共享$scope。从只有一个控制器开始,这样$scope就会像您期望的那样被共享
将ExampleController更改为:
var app = angular.module("switchExample", []);
app.controller("ExampleController", ["$scope", function($scope) {
$scope.selection ="settings";
$scope.signIn = function() {
alert("click");
$scope.selection ="project";
}
}]);
。。。当您单击“登录”时,删除另一个控制器以及对HTML中未使用的控制器的引用将显示“hello”问题在于,控制器之间未共享$scope。从只有一个控制器开始,这样$scope就会像您期望的那样被共享
将ExampleController更改为:
var app = angular.module("switchExample", []);
app.controller("ExampleController", ["$scope", function($scope) {
$scope.selection ="settings";
$scope.signIn = function() {
alert("click");
$scope.selection ="project";
}
}]);
。。。当您单击“登录”时,删除另一个控制器以及HTML中对未使用的控制器的引用将显示“hello”请在文档页面学习该示例。这很直截了当,我传递的是t而不是$scope app.controller(“SignInController”、[“$scope”、“$http”、函数(t、$http),请在文档页学习示例。这很直截了当,我传递的是t而不是$scope app.controller(“SignInController”、[“$scope”、“$http”、函数(t、$http)你能详细说明一下“不工作”吗?有什么错误吗?你使用的是哪个版本的AngularJS?当我单击login project switch没有显示时,在我看来,你希望SignInControl和ProjectController中的$scope是相同的。好吧,它们不是。也许你可以将变量“设置”绑定到$rootScope,因为这将由两个控制器作用域继承。请提供示例……或者您可以移动signIn()对于ExampleController,所以您在相同的$scope上操作,您可以详细说明一下“不工作”吗?是否有任何错误?您使用的是哪个版本的AngularJS?当我单击login project switch(登录项目开关)时,我觉得您希望SignInController和ProjectController中的$scope是相同的。好吧,它们不是。也许吧另外,您可以将变量“settings”绑定到$rootScope,因为这将由两个控制器scope继承。请提供示例……或者您可以移动signIn()到ExampleController,以便您在工作的相同$scope上操作。如果我需要使用多个控制器,那么如何使用?可以使用$rootScope绑定需要在控制器之间共享的变量,因为控制器的$scope变量继承自$rootScope。读取正在工作的$rootScope上的文档。如果需要要使用多个控制器,那么如何使用?可以使用$rootScope绑定需要在控制器之间共享的变量,因为控制器的$scope变量继承自$rootScope。读取$rootScope上的文档
var app = angular.module("switchExample", []);
app.controller("ExampleController", ["$scope", function($scope) {
$scope.selection ="settings";
$scope.signIn = function() {
alert("click");
$scope.selection ="project";
}
}]);