私はちょうどangularJSアプリケーションを作成しました。ここでAngularJSグローバル変数を使用して<body>クラスを変更する
は私index.htmlを
<html ng-app="MyApp">
<head>
<!-- CSS files import -->
</head>
<body class="{{bodylayout}}">
<div ng-view></div>
</body>
<--! JS imports
aungular.js
app.js
login.js
register.js
-->
</html>
app.js
'use strict';
//Define Routing for app
angular.module('myApp', []).config(['$routeProvider', '$locationProvider',
function($routeProvider,$locationProvider) {
$routeProvider
.when('/login', {
templateUrl: 'login.html',
controller: 'LoginController'
})
.when('/register', {
templateUrl: 'register.html',
controller: 'RegisterController'
})
.when('/forgotPassword', {
templateUrl: 'forgotpassword.html',
controller: 'forgotController'
})
.when('/home', {
templateUrl: 'views/home.html',
})
.otherwise({
redirectTo: '/login'
});
// $locationProvider.html5Mode(true); //Remove the '#' from URL.
}]);
である私はhome.html、login.htmlを、register.html、およびforgotpassword.htmlを持っています。それぞれに別々のファイルで別々のコントローラーがあります。 login.js、register.js、forgot.js、home.js
login.js
'use strict';
angular.module('myApp').controller('LoginController', function($scope, $location, $window) {
$scope.user = {};
$scope.loginUser=function()
{
var username=$scope.user.name;
var password=$scope.user.password;
if(username=="admin" && password=="admin123")
{
$location.path("/home");
}
else
{
$scope.message="Error";
$scope.messagecolor="alert alert-danger";
}
}
});
は同様に、私は他のコントローラでPOSTメソッドを持っています。
私が望むのは、ビューがログイン、登録、またはパスワードがない場合、ボディクラスは"login-layout"
である必要があります。だから、体に、私は値を設定することができ、グローバル変数を使用して知っている。しかし、私はどのように知りません。app.jsで
を、私はこの
angular.module('myApp').factory("myService", function(){
return {
sharedObject: { data: 'login-layout' }
};
});
を試してみました。しかし。「class="{{bodylayout}}
を置きますそれを使用する方法がわからない
ありがとうございます。他のコントローラーを設定するにはどうすればいいですか? –
他のコントローラでは、 '$ rootScope.bodylayout = ''や$ rootScope.bodylayout = 'その他の値'' – Reza
を設定することができます。 '$ rootScope.bodylayout = myService.sharedObject.data; 'を使用しているため、コントローラから値を渡しません。 また、各コントローラのページのタイトルを変更したいと思います。 –