【发布时间】:2015-09-16 13:38:10
【问题描述】:
我有这个代码...
spa.factory("linkFactory", function() {
var linkFactoryObject = {};
linkFactoryObject.currentLink = "home";
return linkFactoryObject;
});
这个 sn-p 充当我在不同控制器之间设置和读取的全局变量。此变量控制标记为活动的链接。
我的代码运行良好。唯一的问题是,如果我在您第一次进入我的网页时没有在出厂时设置初始值,home 链接将不会被设置为活动状态。如果我确实设置了初始值,那么当有人刷新页面时,该值将重置为初始值。这意味着主页链接将处于活动状态,但您实际上将位于不同的页面上。
此外,我尝试使用$location.path() 来获取我的路径并根据该值构建一个函数,但$location.path() 是静态的,所以这也不起作用。
我有这条路由 sn-p 控制我加载哪些内容...
spa.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/home', {
templateUrl: '/partials/home.html'
})
.when('/about', {
templateUrl: '/partials/about.html'
})
.when('/skills', {
templateUrl: '/partials/skills.html'
})
.when('/experience', {
templateUrl: '/partials/experience.html'
})
.when('/resume', {
templateUrl: '/partials/resume.html'
})
.when('/contact', {
templateUrl: '/partials/contact.html'
})
.otherwise({
redirectTo: '/home'
});
});
如果我能以某种方式在这里设置一个可以在控制器中读取的变量,我会很高兴,但我不确定该怎么做。
我将如何做到这一点?
【问题讨论】:
-
您应该将您的工厂转换为提供者,以便在配置阶段可以访问它
标签: javascript angularjs variables dynamic config