我正在尝试从服务器接收数据后手动引导AngularJS。
bootstrap.js:
var initInjector = angular.injector(['ng']);
var $http = initInjector.get('$http');
var maindata;
function bootstrapAngular() {
angular.element(document).ready(function() {
angular.bootstrap(document, ['app']);
});
}
function getMainData() {
return maindata;
}
$http
.get('/data')
.then(function (response) {
maindata = response.data;
bootstrapAngular();
}, function (error) {
console.log(error);
});
启动后,我需要在应用程序中使用maindata
或getMaindata()
。因此,我无法(function(){})();
在bootstrap.js
文件上放更紧密的javascript
来保持所有内容的私密性,从而使该功能和变量可供应用程序的其他部分访问。
是否可以将所有内容设为私有,但仍然可以让应用的其他部分访问?
您可以将其maindata
作为可注射剂公开以使其在您的应用中可用:
$http
.get('/data')
.then(function (response) {
maindata = response.data;
angular.module("app").value("MainData", maindata);
bootstrapAngular();
}, function (error) {
console.log(error);
});
然后可以将其注入控制器或服务中:
.controller("MainCtrl", function($scope, MainData){
$scope.data = MainData;
});
我的应用程序的MainActivity从用户那里获取一些数据来计算他/她的BMI和BMR,并将这些数据用于应用程序的主要部分,即另一个名为DailyActivity的活动。我希望这样,用户第一次启动应用程序时,它会要求提供数据。但在第一次之后,每次用户启动应用程序时,都应使用之前输入的数据直接启动DailyActivity。(按下后退按钮也不应显示MainActivity)。我如何实现这一点?
问题内容: 我正在使用Cordova 3.3.1-0.4.2和Angular 1.2.13 收到Cordova“ deviceready”事件后,我需要手动引导Angular。 我正在Nexus 5上进行测试,但在iPhone上却具有完全相同的行为。 为了简化问题,这是JS在全局文档范围内运行。脚本在结束标记之前加载。 这有效: 这不起作用: 但是,如果我添加到显示它正在运行的init方法中。同时
在Laravel 5.1方法是不接收后数据。 这是我的方法,$request不存储通过post发送的数据。 这是我在测试中对它的称呼: 这就是我的评论- 这是我的路线: 我的方法从URL接收$project ectId,这是工作,但请求是空的,没有我发送的数据从$注释-
试图将$http.post请求从AngularJS表单发送到Symfony控制器以将表单内容添加到数据库。我可以在AngularJS侧获得"状态"200的成功响应。 但是,在Symfony控制器上,$request- 另外,安装了FOSRestBundle并启用了body listener、param fetcher listener。 我知道我的问题与AngularJS对Symfony控制器的P
因此,我正在用Java编写一个程序,在DatagramSocket和DataGramPacket的帮助下发送和接收数据。问题是,当我发送数据/接收数据时,数据在我发送的程序中也会有所不同,但只是在某些情况下,比如: 但有时会起作用,比如:
问题内容: 我已经看到以下内容: AngularJS文档也提到了这一点,我不太了解。 这些方法之间有什么区别吗?特别是Angular文档的最后一种方法是做什么的?一个比另一个更好用吗? 问题答案: 它们大致相同,但有一些区别: 如果您 在页面末尾 (而不是在标题中)加载 了 脚本,这将起作用。 否则,在引导应用程序时将不会加载DOM(不会编译任何模板,指令不会有任何效果)。 此作品:plnkr 这