在AngularJS 1.3.8中添加一个运行块
Add a run block in AngularJS 1.3.8
如何将run
块添加到下面的AngularJS 1.3.8代码中
当我尝试在浏览器中加载应用程序时,FireFox调试器指示控制流在run
块的第一行和另一个module
/config
/controllers
的第一行短暂停止,而不进入其中的任何一行。然后程序在应用程序能够加载之前停止。相比之下,当我注释掉下面的run
块时,Angular应用程序运行正常。
代码取自这个示例应用程序,唯一的变化是添加了run
块。
angular.module('hello', [/*'ngCookies',*/ 'ngRoute' ]).config(function($routeProvider, $httpProvider) {
$routeProvider.when('/', {
templateUrl : 'home.html',
controller : 'home',
controllerAs : 'controller'
}).otherwise('/');
$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
}).run(function ($rootScope, $cookies) {
var cookieValue = $cookies.get("myCookie");
if (cookieValue) {
$rootScope.myCookieVar = cookieValue;
}
}).controller('navigation',
function($rootScope, $http, $location, $route) {
var self = this;
self.tab = function(route) {
return $route.current && route === $route.current.controller;
};
$http.get('user').then(function(response) {
if (response.data.name) {
$rootScope.authenticated = true;
} else {
$rootScope.authenticated = false;
}
}, function() {
$rootScope.authenticated = false;
});
self.credentials = {};
self.logout = function() {
$http.post('logout', {}).finally(function() {
$rootScope.authenticated = false;
$location.path("/");
});
}
}).controller('home', function($http) {
var self = this;
$http.get('resource/').then(function(response) {
self.greeting = response.data;
})
});
$cookies
在版本1.4之前没有get()
和set()
方法。
参见文档
尝试更改为
var cookieValue = $cookies.myCookie;
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 仅为一个窗体运行应用程序脚本
- 从另一个JSAppleScript运行另一个JS AppleScript时出现权限错误
- 如何使用特定的javascript函数创建一个url,以便在加载页面时运行
- 运行一个特定<脚本>(Dreamweaver)
- 如何运行在一个充满html的字符串中定义的javascript
- 运行“;非“;单击另一个函数中的函数仅一次
- 在触发x-editable之前运行一个函数
- jQuery:在for循环中运行youtube视频,播放最后一个视频
- 如何在另一个函数完成后运行
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 成功ajax:如果是200状态代码,则运行函数else另一个函数
- 为什么一个 $(document).ready(function() { 会阻止另一个运行
- 代码有什么问题?它给了我一个运行时错误
- 是否可以在node.js服务器上设置一个运行(服务器端)的socket.io客户端
- (JavaScript)不能一个接一个运行两个函数
- 需要帮助将vbs代码转换为jscript.我得到一个运行时错误类型不匹配
- 在我的网站上,我有一个非常慢的页面,在那里我可以找到一个运行良好的加载程序
- 在AngularJS 1.3.8中添加一个运行块