我发现了几个类似的问题,但是没有一个答案有帮助。它们似乎都涉及某种类型的$location
依赖关系,而我无法正确注入。
我的代码如下:
(function() {
// App dependencies
var app = angular.module('portalExchange',
['ngRoute',
'app-products',
'app-manage',
'app-profile']);
// [ Main Controller ] : PortalController
app.controller('PortalController', function($scope) {
if ($('.top_link_dashboard').hasClass('unactive_top')) {
$('.top_link_dashboard').removeClass('unactive_top');
$('.top_link_dashboard').addClass('active_top');
}
});
// Controller for Dashboard
app.controller('DashboardController', function() {
});
// Controller for Developers
app.controller('DevelopersController', function($scope) {
// Page.setTitle('Developers');
});
// Controller for Quote
app.controller('QuoteController', function($scope) {
// Page.setTitle('Begin Quote');
});
// Directive for Header
app.directive('appHeader', function () {
// Type of Directive, E for element, A for Attribute
// url of a template
return {
restrict: 'E',
templateUrl: 'templates/modules/globals/app-header.html'
};
});
// Directive for Footer
app.directive('appFooter', function () {
return {
restrict: 'E',
templateUrl: 'templates/modules/globals/app-footer.html',
controller: function(){
this.date = Date.now();
},
controllerAs:'footer'
};
});
// configure our routes
app.config(function($routeProvider) {
$routeProvider
// route for the dashboard page
.when('/', {
templateUrl : 'templates/sections/app-dashboard.html',
controller : 'DashboardController'
})
// route for the dashboard page
.when('/dashboard', {
title : 'My Dashboard',
templateUrl : 'templates/sections/app-dashboard.html',
controller : 'DashboardController'
})
// route : Developers Page
.when('/developers', {
title : 'For Developers',
templateUrl : 'templates/sections/app-developers.html',
controller : 'DevelopersController'
})
// route : Begin Quote
.when('/quote', {
title : 'Begin Quote',
templateUrl : 'templates/sections/app-quote.html',
controller : 'QuoteController'
});
});
app.run(['$rootScope', '$route', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(newVal, oldVal) {
if (oldVal !== newVal) {
document.title = $route.current.title;
}
});
}]);
})();
RUN功能
app.run(['$rootScope', '$route', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(newVal, oldVal) {
if (oldVal !== newVal) {
document.title = $route.current.title;
}
});
}]);
HTML
<!DOCTYPE html>
<html lang="en" ng-app="portalExchange" ng-controller="PortalController as portal">
<head>
<meta charset="utf-8">
<title ng-bind="title">myApp</title>
</head>
我的方法很简单。在路由配置中,您可以定义title
:
.when('/dashboard', {
title : 'My Dashboard',
templateUrl : 'templates/sections/app-dashboard.html',
controller : 'DashboardController'
})
然后您监听$routeChangeSuccess
事件并进行设置document.title
。在应用程序运行块中(为此的最佳位置):
app.run(['$rootScope', '$route', function($rootScope, $route) {
$rootScope.$on('$routeChangeSuccess', function() {
document.title = $route.current.title;
});
}]);
这种方法的好处是,它使您可以避免再绑定ng-bind="title"
,这很好。
我在Angular JS中使用routeProvider: 如何将param传递给控制器,并在这里调用返回数据的Ajax方法。此数据必须显示在的路由模板中。 示例: 我得到错误:
我需要调用不同的头来托管和关于下面提到的页面,当执行下面的代码时,我得到的错误是“未定义的类常量‘hosting’”。建议我如何解决这个问题,并为不同的页面调用不同的标题。
问题内容: 我有一个网页,该网页实现了一组标签,每个标签显示不同的内容。选项卡单击不会刷新页面,而是在客户端隐藏/取消隐藏内容。 现在,需要根据页面上选择的选项卡来更改页面标题(出于SEO的原因)。这可能吗?有人可以提出一种解决方案,以通过javascript动态更改页面标题而无需重新加载页面吗? 问题答案: 更新 :根据SearchEngineL上的注释和参考,大多数网络爬虫将为更新的标题编制索
问题内容: 我正在阅读已弃用的文档。 但是它并没有说赞成什么,而是我可以使用什么。 是否有一个新的API文档页面? 我曾经使用过,但似乎添加了分页符 问题答案: 从 jQuery Mobile 1.4开始 ,已弃用并替换为: 缩短 … 更短的 … (1) 注意: 目标 是#page_id或URL。 演示版 (1) 默认为 pageContainer,除非在上进行了修改。
问题内容: 我在JList中有一个单词列表。每次将鼠标光标指向一个单词时,我都希望光标变为手形光标。现在我的问题是该怎么做? 有人可以帮我解决这个问题吗? 问题答案: 在JList上使用MouseMotionListener来检测鼠标何时输入,然后调用将其转换为。 样例代码:
我正在jasper studio中创建一个只包含一个图表的报告。但当我点击预览选项卡时,它会在数百页上创建图表。每一页的图表都是一样的。谁能告诉我如何修理它。