Javascript 从ng视图设置变量
我正在努力学习AngularJS,我遇到了一个我很难解决的问题 我有一个基于此模板的小应用程序Javascript 从ng视图设置变量,javascript,templates,angularjs,Javascript,Templates,Angularjs,我正在努力学习AngularJS,我遇到了一个我很难解决的问题 我有一个基于此模板的小应用程序 <!doctype html> <html lang="en" ng-app="fff"> <head> <meta charset="utf-8" /> <head> <body class="{{bodyClass}}"> <div ng-view></div>
<!doctype html>
<html lang="en" ng-app="fff">
<head>
<meta charset="utf-8" />
<head>
<body class="{{bodyClass}}">
<div ng-view></div>
<script src="/static/js/all.js"></script>
</body>
</html>
我想在
ng视图中更改bodyClass
。在这种情况下,最佳实践解决方案是什么?您可以通过将控制器放在那里,使用路由更改来尝试这种方法
app.run(function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(ev,data) {
if (data.$route && data.$route.controller)
$rootScope.controller = data.$route.controller;
})
});
并将
更改为
选中身体中使用的变量必须来自某个控制器。在ng视图中,您很可能还有一个带有控制器的页面。此控制器现在是“主体”控制器的子控制器。这意味着您可以从“子”控制器访问父变量
请阅读以下内容:。这是一本非常非常好的关于范围的书。我甚至认为这是一本必读的书。最简单的方法是获取对象并在其上定义bodyClass。差不多
$scope.appStyles={bodyClass:'default'}
此属性应在ng view
html的父级上定义的控制器上定义
现在您将在allng视图
scope中获得这个appStyle
对象,因为它们继承父$scope。这也意味着你可以在任何地方改变它
$scope.appStyles.bodyClass='newClass'代码>
更好的方法是将这些设置移动到服务和共享中。使用ng class指令。我想这会有帮助。我如何更改模板中的变量?您想在应用程序中使用值更改此{{bodyClass}}还是想从{{bodyClass}更改bodyClass?我想在ng视图模板中更改bodyClass。对于登录页面,我需要登录页面类;对于注册页面,我需要注册页面样式。