小编Jon*_*ues的帖子

如何使用具有多个输入的Angular结构指令

我想用angular-permisssion实现类似的东西.并且需要控制元素的存在,我需要使用角度结构指令.

一开始,我认为这样的语法会起作用:

<h2 *permissionIf [permissionIfExcept]="'Read'">Except</h2>
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.

此外,官方指南仅教您如何使用单个输入编写自定义结构指令.对于多输入,一些第三方教程涉及一些.但那是使用角度模板微语法来实现数据绑定.然后出现一个问题:模板语法不支持纯键值输入:

<h2 *permissionIf="except: map.except?only: 'test'">Except</h2>
Run Code Online (Sandbox Code Playgroud)

它扩展到这个(这是非法的):

<h2 template="permissionIf except: map.except?only: 'test'">Except</h2>
Run Code Online (Sandbox Code Playgroud)

一个愚蠢的临时解决方案是添加一个无用的变量声明.

<h2 *permissionIf="let i;except: map.except?only: 'test'">Except</h2>
Run Code Online (Sandbox Code Playgroud)

另一个不方便的方法是使用模板元素来包装代码.

<template permissionIf [permissionIfExcept]="'Read'">
  <h2>Except</h2>
</template>
Run Code Online (Sandbox Code Playgroud)

以上都不是可以接受的.但我找不到更好的解决方法.

希望有些人可以提出一些建议:).

javascript directive angular

33
推荐指数
3
解决办法
9145
查看次数

基于活动的权限与Backbone,API设计理念?

我正在使用Backbone和Knockout以及Knockback(ko + bb桥库)构建一个相当大的cms类型的应用程序,我正试图找出一种抽象权限的好方法.对小说也提前抱歉.

首先,这是一个非常非标准的架构,你可能会问第二个问题 - 你为什么不使用像Ember或Angular这样更全面的东西?采取的点.这就是现在的情况.:)

所以这是我的窘境.我想在控制器和viewmodel级别获得优雅的api权限.

我有一个可供我使用的对象,如下所示:

{
   'api/pages': {
     create: true, read: true, update: true, destroy: true
   },
   'api/links': {
     create: false, read: true, update: false, destroy: false
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

所以在我的路由器/控制器中,我正在新建我的集合/模型/视图模型,然后在现有视图上调用自定义渲染方法.视图处理诸如释放视图模型之类的事情.

initialize: function() {
  this.pages = new PagesCollection();
  this.links = new LinksCollection();
},

list: function() {
  var vm = new PageListViewmodel(this.pages, this.links);
  // adminPage method is available through inheritance
  this.adminPage('path/to/template', vm); // delegates to kb.renderTemplate under the hood.
}
Run Code Online (Sandbox Code Playgroud)

所以问题就在于,这些集合是完全非结构化的,即.路由器对它们一无所知.

但我需要的是,如果您不允许查看特定资源,它将重定向到未经授权的页面.

那么通过上面的例子,我考虑过滤前后的编码?但是,您在哪里指定每个路由器方法尝试访问的内容?

list: function() {
  this.authorize([this.pages, this.links], …
Run Code Online (Sandbox Code Playgroud)

permissions design-patterns backbone.js knockout.js

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

如何使用.NET 4代理REST API

我正在尝试在.NET中编写一个简单的传递代理。

我在某个外部域(http://exampleapi.com)上托管了REST API,

我想通过发送给我的应用程序的所有请求(获取,发布等)。JSONP不是一个选择。

所以如果我要求 GET localhost:1234/api/pages => GET http://exampleapi.com/pages 同样,如果我POST localhost:1234/api/pages => POST http://exampleapi.com/pages

遇到的最大问题以及在其他地方似乎找不到的最大问题是,我不想解析此JSON。我搜索过的所有内容似乎都集中在HttpClient,但是我似乎无法弄清楚如何正确使用它。

这是我到目前为止的内容:

public ContentResult Proxy()
{
    // Grab the path from /api/*
    var path = Request.RawUrl.ToString().Substring(4);
    var target = new UriBuilder("http", "exampleapi.com", 25001);
    var method = Request.HttpMethod;

    var client = new HttpClient();
    client.BaseAddress = target.Uri;

    // Needs to get filled with response.
    string content;

    HttpResponseMessage response;
    switch (method)
    {
        case "POST":
        case "PUT":
            StreamReader reader = new StreamReader(Request.InputStream);
            var jsonInput …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

在Meteor中创建与集合的关系

也许这种结构不适合Meteor,或者我认为它错了.试图在noSQL数据库中做这样的关系吗?

我有Dropzone和Widget集合.Dropzone可以包含许多小部件,每个小部件可以存在于多个dropzone中.

我的问题是,我似乎无法使Handlebars呈现已过滤的小部件列表.

我的dropzone模型

dropzone =
  _id: "area1-id"
  title: "Area 1"
Run Code Online (Sandbox Code Playgroud)

小部件模型(缩写)

widget =
  _id: "widget1-id"
  title: "My Widget"
  dropzones: ['area1-id', 'area2-id'] 
  # each widget stores an id of which dropzones it's associated with
Run Code Online (Sandbox Code Playgroud)

相关的模板结构

{{#each dropzones}}
  <div class="dropzone span4">
    <h1>{{title}}</h1>
    <div class="widget-area">
      <div class="hotzone">
        {{#widgets _id}} # passing in the current dropzone id
        {{/widgets}}
      </div>
    </div>
  </div>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

辅助功能

# returns the correct sets of widgets, but can't figure
# out how to make it render the widget partial …
Run Code Online (Sandbox Code Playgroud)

handlebars.js meteor

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