小编use*_*027的帖子

angularjs中的有条件的bootstrap应用程序

我有一个使用谷歌地图api v3的angularJs网络应用程序.我正在使用angular-ui的ui-map.

我的问题是,应用程序需要在连接不良的情况下运行.我有离线存储很好地工作.

问题是ui-map需要在加载角度模块之前加载谷歌地图,如下所示:

function onGoogleReady() {
    angular.bootstrap(document.getElementById("body"), ['baseApp']);
}
Run Code Online (Sandbox Code Playgroud)

...其中onGoogleReady()是google maps api回调.

这会将离线模式抛出窗口,因为应用程序在加载Google地图之前不会加载,并且不会离线发生.

如果有或没有ui-map,我怎么能有条件地加载应用程序,具体取决于是否有连接?

我试过跑:

var app = angular.module('baseApp', ['ui.bootstrap', 'ngRoute', 'ui.validate', 'ui.keypress', 'ui.event', 'imageupload', 'LocalStorageModule'])
Run Code Online (Sandbox Code Playgroud)

然后

function onGoogleReady() {
    app = angular.module('baseApp', ['ui.bootstrap', 'ngRoute', 'ui.map', 'ui.validate', 'ui.keypress', 'ui.event', 'imageupload', 'LocalStorageModule'])
    angular.bootstrap(document.getElementById("body"), ['baseApp']);
}
Run Code Online (Sandbox Code Playgroud)

在加载地图时使用ui-map再次加载它,但是anuglar不允许再次绑定到同一个元素.

我确信有一个很好的整洁方式,但我的angularJS理解缺乏...

更新:这是我找到的解决方案:

首先,不要在html中绑定应用程序(无ng-app)接下来,有一个在线变量:

var isOnline = false;
function onGoogleReady() {
    angular.bootstrap(document.getElementById("body"), ['baseApp', 'ui.map']);
}
Run Code Online (Sandbox Code Playgroud)

然后检查是否在线.如果是这样,请插入google maps脚本,该脚本将使用ui-maps运行回调,如果没有使用ui-maps绑定应用程序:

var xmlhttp;

        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } …
Run Code Online (Sandbox Code Playgroud)

google-maps-api-3 angularjs

8
推荐指数
1
解决办法
1885
查看次数

Angular-ui ui-map点击事件未收到$ params

我正在尝试使用ui.Map(http://angular-ui.github.io/ui-map/)在Angularjs中实现Google地图

我非常仔细地跟踪了这个例子并加载了地图,我可以在地图中心创建一个标记,并且'map-tilesloaded'事件可以正常工作.

我的问题是添加用户点击的标记.click函数正在接收一个空的$ params参数.在我的控制器中:

$scope.newMapOptions = {
    center : new google.maps.LatLng($scope.position.lat, $scope.position.lng),
    zoom : 18,
    mapTypeId : google.maps.MapTypeId.ROADMAP
};
$scope.getLocation = function() {
    if (navigator.geolocation) {
        return navigator.geolocation.getCurrentPosition(setPosition);
    }
};

$scope.addMarker = function($event, $params) {
    $scope.newTingMarker = new google.maps.Marker({
        map : $scope.myNewTingMap,
        position : $params[0].latLng
    });
};

$scope.initMap = function() {
    if (!$scope.mapLoaded)
        $scope.getLocation();
    $scope.mapLoaded = true;
};

function setPosition(pos) {
    $scope.position = {
        lat : pos.coords.latitude,
        lng : pos.coords.longitude
    };
    $scope.meMarker = new google.maps.Marker({
        map : $scope.myNewTingMap, …
Run Code Online (Sandbox Code Playgroud)

google-maps-api-3 angularjs angular-ui

7
推荐指数
1
解决办法
2015
查看次数

带有 socket.io 的 CORS

我在使用 express.io 的 node.js 应用程序上遇到 CORS 问题。我正在远程托管 socket.io 客户端 js,因为它需要作为远程应用程序工作。

<script src="resources/js/socket.io.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

它托管在 OpenShift 上

服务器.js:

var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "localhost";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var express = require('express.io');
// magical express.io
var app = express();

// Enables CORS
var enableCORS = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With, *');

        // intercept OPTIONS method
    if ('OPTIONS' == req.method) {
        res.send(200);
    } else {
        next();
    };
};

app.configure(function() {
    // enable CORS! …
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io

6
推荐指数
1
解决办法
7608
查看次数

只获得与MongooseJs中的查询匹配的子子数组

我是mongodb和mongoose的新手,我在获取子子阵列时遇到了麻烦.

我的数据是这样的:

    [
     {_id : ...,
     name : 'Category name1',
     products : [
                    {
                    code : 'zxcv'
                    name : 'T-Shirt 1',
                    items : [
                          {code:'zxcv', size : 'S'}
                          {code:'zxcv', size : 'M'}
                          {code:'zxcv', size : 'L'}
                          {code:'zxcv', size : 'XL'}

                        ]
                     },
                     {
                    code : 'qwerty'
                    name : 'T-Shirt 2',
                    items : [
                          {code:'qwerty', size : 'S'}
                          {code:'qwerty', size : 'M'}
                          {code:'qwerty', size : 'L'}
                          {code:'qwerty', size : 'XL'}

                        ]
                     }
                 ]
            },
            {_id : ...,
             name : 'Category name2', …
Run Code Online (Sandbox Code Playgroud)

mongodb

1
推荐指数
1
解决办法
1612
查看次数