小编Nif*_*hel的帖子

AngularJS - 在多个地图的指令中加载谷歌地图脚本异步

我目前正在尝试在一个页面上加载多个谷歌地图.我不想将谷歌地图API脚本包含在HTML代码中,因为我不希望加载脚本,除非地图在当前页面中.我想在单个指令中调用我的地图,该指令也将执行谷歌地图API脚本延迟加载.

所以我四处搜索并找到了一个我稍微调整过的解决方案,但我的问题是它只会加载一个地图而不会加载其他地图.

我的HTML看起来像这样:

<div id="mapParis" class="google-map" lat="48.833" long="2.333"></div>
<div id="mapWashington" class="google-map" lat="38.917" long="-77.000"></div>
<div id="mapTokyo" class="google-map" lat="35.667" long="139.750"></div>
Run Code Online (Sandbox Code Playgroud)

指令:

// Google Map
app.directive('googleMap', ['$window', '$q', function( $window, $q ) {
    function loadScript() {
        console.log('loadScript');

        // use global document since Angular's $document is weak
        var s = document.createElement('script');
        s.src = '//maps.googleapis.com/maps/api/js?sensor=false&language=en&callback=initMap';
        document.body.appendChild(s);
    }

    // Lazy loading of the script
    function lazyLoadApi(key) {
        console.log('lazyLoadApi');

        var deferred = $q.defer();

        $window.initMap = function () {
            deferred.resolve();
        };

        if ( $window.attachEvent …
Run Code Online (Sandbox Code Playgroud)

google-maps lazy-loading directive angularjs

21
推荐指数
1
解决办法
2万
查看次数

文件夹结构,登录设计,路线和grunt任务

我目前正在开发一个新项目,我想给它一个良好的开端,不要搞砸未来的迭代.

描述

该应用程序将有两个方面:
- 客户端.
- 管理员方面.

它们中的每一个都有单独的API,我将它们分成2个应用程序似乎是合乎逻辑的.
他们每个人都有自己的登录方式.

我的想法

在阅读了很多关于这个主题的主题后,我正在考虑使用这个结构:

app/
    admin/
        home/
            home.tpl.html    // admin home template
        admin.html           // admin index, including templates via ng-view
        admin-api.js         // admin api
        admin.js             // admin app
    admin-login/
        home/
            home.tpl.html
        admin-login.html
        admin-login-api.js
        admin-login.js
    client/
        home/
            home.tpl.html
        client.html
        client-api.js
        client.js
    client-login/
        home/
            home.tpl.html
        client-login.html
        client-login-api.js
        client-login.js
css/
fonts/
img/
js/
libs/
Run Code Online (Sandbox Code Playgroud)

为什么要将登录与其他登录分开?因为我希望登录页面更轻(我不会加载相同的CSS/JS文件),并且如果用户没有登录则无法访问其他文件/视图.

路由

如果我们将路由映射到此结构,它将提供如下内容:
/
app/client/client.html

/login
应用程序/客户端,登录/客户的login.html

/admin/
应用程序/管理/ admin.html

/admin/login
应用程序/管理登录/管理员-的login.html

身份验证条件示例:

/
如果用户已登录 - >如果用户未登录则显示主页
- >重定向到/login

咕噜声的任务

我将主要使用 …

routes login angularjs

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

制作一个父母和路径突出显示的树

我想把一些精美的菜单显示为一棵树,在那里我们可以很容易地看到每个页面和他们父母之间的关系.

离工作不远,但我需要你的帮助和想法.

这是我做的:http: //jsfiddle.net/bXCHn/6/

例如,如果您将鼠标悬停在"第4 - 3 - 2页",它将突出显示"第4 - 3页"和"第4页".这是基本的HTML和CSS,如果删除jQuery脚本,它仍然可以工作.

jQuery允许我们添加一个类,该类将突出显示li树中每个先前元素的路径(边框).它不会考虑第一级导航:

$(this).prevAll('li:not(.first-lvl-item)').addClass('hover-prev-item');
Run Code Online (Sandbox Code Playgroud)

现在保持与上面相同的例子.您将看到从"第4页"开始的第一行走得太远(事实上它正在使用整个li元素).我希望它能在"第4 - 3页"前停下来......

我不知道是否必须改变我的所有结构,或者我是否应该以另一种方式处理它.我尝试了很多东西,但没有任何效果......

谢谢你的帮助 !

html css jquery

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

SequelizeJS - hasMany to hasMany在同一个表上有一个连接表

我的问题很简单:

我有一个名为users的表.这些用户可以有很多联系人.这些联系人是其他用户.

所以我有一个名为userHasContacts的表,其中包含所有者的id(userID)和联系人的id(contactID).
这两个外键都引用用户表.

这是我漂亮的图表:

              ----------------  
______________|____      ____|____
| userHasContacts |      | users |
-------------------      ---------
| #userID         |      | id    |
| #contactID      |      ---------
-------------------          |
              |              |
              ----------------
Run Code Online (Sandbox Code Playgroud)

在sequelize中,在我的逻辑中,我会写:

Users.hasMany(Users, {foreignKey: 'userID', joinTableName: 'userHasContacts'} );
Users.hasMany(Users, {as: 'Contacts', foreignKey: 'contactID', joinTableName: 'userHasContacts'} );
Run Code Online (Sandbox Code Playgroud)

但似乎它不能以这种方式工作,而且我已经尝试了几种方式来编写这种关系...

对我有用的唯一一条线是

Users.hasMany(UserHasContacts, {foreignKey: 'contactID', joinTableName: 'userHasContacts'} );

UserHasContacts.findAndCountAll({ where: {userID: id} }).success( function(result) {        
    res.json(result);
});
Run Code Online (Sandbox Code Playgroud)

但后来我无法在查找查询中加入用户表(通过Eager加载),它只是返回userHasContacts内的数据. …

mysql sequelize.js

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