小编yoh*_*sen的帖子

在AngularJS中,如何使隔离范围继承ng-repeat的范围

我正在尝试创建一个在ng-repeat循环中接收参数的自定义组件.例如,假设我有一个名为"mycomp"的组件,它在ng-repeat中接收自定义参数"name":

<mycomp name="{obj.name}" ng-repeat="obj in list" />
Run Code Online (Sandbox Code Playgroud)

在我的指令中,隔离范围的定义如下:

scope:{name:"@"}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为ng-repeat为它迭代的每个元素创建一个独立的范围.所以我最终有两个级别的范围.

我该如何解决这个问题?难道我做错了什么?

谢谢.

javascript angularjs

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

在NodeJS工作器重新启动Heroku之后恢复排队的作业

所以我在Heroku上有一个相当简单的设置.我正在使用RabbitMQ来处理后台工作.我的设置包含一个每天使用Heroku Scheduler插件运行的节点脚本.脚本将作业添加到队列中,工作者依次使用它们并将它们委托给单独的模块进行处理.

在我重新启动实例之前收到Heroku不时随机启动的SIGTERM事件后,问题就开始了.

出于某种原因,在重新启动实例后,工作人员永远不会再次恢复.只有当我手动重新启动它通过执行heroku ps:scale worker=0heroku ps:scale worker=1工人继续消耗暂挂作业.

这是我的工人:

// worker.js
var throng = require('throng');
var jackrabbit = require('jackrabbit');
var logger = require('logfmt');
var syncService = require('./syncService');

var start = function () {
    var queue = jackrabbit(process.env.RABBITMQ_BIGWIG_RX_URL || 'amqp://localhost');

    logger.log({type: 'msg', msg: 'start', service: 'worker'});

     queue
        .default()
        .on('drain', onDrain)
        .queue({name: 'syncUsers'})
        .consume(onMessage)

    function onMessage(data, ack, nack) {

        var promise;
        switch (data.type) {
            case 'updateUser':
                promise = …
Run Code Online (Sandbox Code Playgroud)

jobs heroku rabbitmq node.js sigterm

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

在Cordova/Ionic,如何在本机应用程序中打开Facebook个人资料链接?

我试图在ios上的原生Facebook应用程序中打开用户的个人资料(如果已安装).该应用程序基于Cordova/Ionic构建,我使用ngCordova inAppBrowser插件.

例如,Twitter链接可以通过常规的Web twitter链接(https://twitter.com/[username)正常工作.另一方面,Facebook没有.我尝试了很多不同的变化:

没有用.

我究竟做错了什么?甚至可以使用当前版本的Facebook应用程序?

谢谢

facebook facebook-graph-api ios cordova ionic-framework

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

在单个数据库、多租户 (SQL) 上设计 SaaS

我正在研究SaaS产品,并试图找出为我的场景设计数据库的最佳方式,我认为这是非常标准的。

我不应该说我没有设计这样一个数据库的经验。

我厌倦了在线研究,但实际上我找不到任何有关实施的信息。有很多比较不同的多租户架构。

对于多租户方法,我决定使用单个数据库- 似乎是最合适的。

以下是应支持的基本列表:

  • 多个客户端,全部分开,它们之间不共享数据。
  • 每个客户都有自己的用户群(员工/雇员)。
  • 客户的员工对系统有不同的访问级别(接触不同的区域,执行某些操作的能力)
  • 每个客户都有自己的客户。

我可以将头tenant_id放在任何桌子上都属于该租户的基本概念上。我想我的问题更多是关于如何将它与每个客户的工作人员的不同访问级别结合起来。

你会怎么做?任何参考这种数据库的一些实现?

谢谢


更新

在@dmfy 回答之后,我想了想,想出了这个解决方案:

account
 -id
 -name

user
 -id
 -account_id
 -username
 -password

role
 -id
 -account_id
 -name

user_role
 -user_id
 -role_id

access
 -id
 -role_id
 -name

role_access
 -role_id
 -access_id

session
 -account_id
 -user_id
 -token
Run Code Online (Sandbox Code Playgroud)

我来解释——

role表本质上是与权限/访问级别列表相关联的用户“组”。

access表代表单个权限。平台的一个区域,可以(或不能)执行的操作。

session成功登录后会在表中创建一行。每次调用服务器时,如果用户已通过令牌验证,我将查找该用户的角色(使用session.user_idonuser_rolesaccess使用role.idon收集其列表role_access.role_id)。

获得访问列表后,我可以检查请求并查看是否允许用户执行该操作。

  • 笔记
    • role可以为每个租户/帐户定制(例如,一个可以有“管理”和“员工”,另一个可以有“管理”、“支持”和“销售”),因此与account.
    • access另一方面,是平台范围的。该平台在所有租户中具有相同的区域和操作集。因此无需将其与特定帐户相关联。
    • access查找的改进可能是在登录时将访问列表存储在会话中,以消除双重连接(获取所有用户的角色,获取所有角色的访问列表)。 …

mysql sql database-design roles saas

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