小编Ric*_*ard的帖子

在Knockout中对可观察数组进行排序

我在人物对象的Knockout中有一个可观察的数组.我希望能够根据姓氏对人员列表进行排序.问题是该列表有许多重复的姓氏.结果是,当有多个姓氏时,名字会在找到时显示.我希望能够按姓氏对数组进行排序,并且当有多个姓氏时,还要按名字排序.我正在使用文本输入让用户开始输入姓氏.结果绑定到显示所有匹配项的模板.

<input data-bind="value: filter, valueUpdate: 'afterkeydown'">

这是我的Knockout数组过滤器代码:

function Item(firstname, lastname) {
     this.firstname = ko.observable(firstname);
     this.lastname = ko.observable(lastname);
}

var playersViewModel = {
     items: ko.observableArray([]),
     filter: ko.observable("")
};
var players;

$(function() {
    playersViewModel.filteredItems = ko.computed(function() {
         var filter = this.filter().toLowerCase();
         if (!filter) {
              return this.items();
         } else {
              return ko.utils.arrayFilter(this.items(), function(item) {
                    return ko.utils.stringStartsWith(item.lastname().toLowerCase(), filter);
              });
         }
    }, playersViewModel);

    $.getJSON('./players.json', function(data) {
        players = data.players;
        playersViewModel.players = ko.observableArray(players);
        ko.applyBindings(playersViewModel);    
        var mappedData = ko.utils.arrayMap(players, function(item) {
             return new Item(item.firstname,item.lastname);
        });
        playersViewModel.items(mappedData);
    }); …
Run Code Online (Sandbox Code Playgroud)

knockout.js

64
推荐指数
2
解决办法
6万
查看次数

Knockout.js无容器"foreach"无法使用<table>

此代码抛出错误(在Chrome中):"无法找到匹配的结束注释标记:ko foreach:MyPlans":

<table>
  <!-- ko foreach: MyPlans -->
    <tr>
      <td>Test</td>
    </tr>
  <!-- /ko -->
</table>
Run Code Online (Sandbox Code Playgroud)

如果我改用列表,一切正常:

<ul>
  <!-- ko foreach: MyPlans -->
    <li>
      Test
    </li>
  <!-- /ko -->
</ul>
Run Code Online (Sandbox Code Playgroud)

我想使用带有桌子的无容器foreach.有什么我做错了吗?这是一个错误吗?

syntax knockout.js

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

Angular UI-Router:使用父视图的子项

故事形式:

我在这里寻找的是一个主要细节设置.主人是列表形式,当我点击链接(相对于特定的行/记录(或本例中的帐户))时,我想在主视图中查看详细信息(字面意思是"主要"视图:) <div class="container" ui-view="main"></div>.

我想这样做并维护我的URL结构(/accounts对于Account列表; /accounts/:id对于详细版本)但我希望详细视图使用列表正在使用的视图.

我现在有什么

的index.html

...
<div class="container" ui-view="main"></div>
...
Run Code Online (Sandbox Code Playgroud)

accounts.js

$stateProvider
    .state ('accounts', {
        url: '/accounts',
        views: {
            'main': {
                controller: 'AccountsCtrl',
                templateUrl: 'accounts/accounts.tpl.html'
            }
        },
        data: { pageTitle: 'Account' }
    })
    .state ('accounts.detail', {
        url: '/:id',
        views: {
            'main': {
                controller: 'AccountDetailCtrl',
                templateUrl: 'accounts/detail.tpl.html'
            }
        },
        data: { pageTitle: 'Account Detail' }
    });
Run Code Online (Sandbox Code Playgroud)

此时,/accounts路线按预期工作.它accounts/accounts.tpl.htmlmain视图中正确显示.因为html转发器中的每一行都将它链接到适当的/accounts/:idURL,我使用嵌套状态处理它accounts.detail.

对于比我更了解这一点的大多数人来说,如果模板中存在该命名视图 …

angularjs angularjs-routing angular-ui-router

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

除非在启用admin-commands的情况下创建连接,否则此命令不可用

尝试使用booksleeve在Redis中运行以下内容时.

using (var conn = new RedisConnection(server, port, -1, password))
{
    var result = conn.Server.FlushDb(0);
    result.Wait();
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说:

除非使用admin-commands创建连接,否则此命令不可用"

我不确定如何以管理员身份执行命令?我是否需要在具有管理员权限的数据库中创建一个a/c并使用该权限登录?

redis booksleeve

28
推荐指数
3
解决办法
9496
查看次数

使用jQuery将单个事件处理程序绑定到多个事件

我有以下div用于onblur,onmousedown,onmouseup和onfocus的不同函数..我想最小化代码并且在div中只有一个函数调用所有函数状态.我想用jquery这样做,换句话说.我想创建一个名为functionAll的函数,并将所有的function1放入函数4,其中包含鼠标状态,然后在Div中使用functionAll.我怎么能这样做?

<div contentEditable="true"
     onblur="function1();"
     onmousedown="return function2(event);"
     onmouseup="function3();"
     onfocus="function4();">
    test test
</div>
Run Code Online (Sandbox Code Playgroud)

jquery events

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

MVC4 WebAPI拒绝无效的枚举值

如何使JSON.NET/MVC 4 WebAPI拒绝枚举没有成员的整数值?例如:

如果我有这个型号:

public enum Colour { Red = 1 };

public class Model
{
  public Colour Colour { get; set; }
}

Model Post(Model model)
{
   // model.Colour could be 99, 34234234, 0 etc, etc
}
Run Code Online (Sandbox Code Playgroud)

如果我发布{ Color: 9999 },我最终得到一个模型,其中model.Color = 999,我想要返回一个错误的请求状态代码.

asp.net-mvc-4 asp.net-web-api

15
推荐指数
2
解决办法
8208
查看次数

列表远程引用失败:java.net.ConnectException:连接超时:github.com

我最近开始在构建服务器上以不断增加的频率看到上述错误.在此期间我们的TeamCity配置没有任何变化,因此我猜测可能是GitHub上的更改导致了错误.

我已经尝试将VCS轮询间隔从60秒更改为600秒,以防GitHub进行某种连接限制,但没有任何影响.

是否有可能使TeamCity对连接超时不那么敏感?

teamcity teamcity-8.0

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

knockout.js将焦点设置在模板中

如何使用knockout.js焦点设置由绑定到数组的模板创建的元素?

我有一个绑定到表的可观察数组,其中每一行都是一组输入元素,以允许编辑数组元素的属性.底部是一个"Add"按钮,它将一个新元素推入数组,创建一个新的输入字段行.

我要做的是"Add"在按下按钮后将焦点设置为新创建的输入字段中的第一个.

HTML:

<html>
  <head>
    <script src="http://cdn.jsdelivr.net/knockout/3.0.0/knockout.debug.js"></script>
  </head>
  <body>
    <table data-bind='foreach: Attributes'>
      <tr>
        <td><input type='text' data-bind='value: Name, disable: HardCoded/></td>
        <td><input type='text' data-bind='value: Description'/></td>
        <td><button data-bind="click: $parent.removeAttribute">Delete</button></td>
      </tr>
    </table>
    <button data-bind="click: addAttribute">Add attribute</button>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

function Attribute(id, name, description, hardcoded) {
  var self=this;
  self.AttributeID=ko.observable(id || 0);
  self.Name=name || '';
  self.Description=description || '';
  self.HardCoded=hardcoded || false;
  self.nameFocus = true;
}

function AttributeSchema(attributeArray) {
  var self=this;

  // Properties
  self.Attributes=ko.observableArray(attributeArray);

  // Operations
  self.addAttribute=function() {
    self.Attributes.push(new Attribute()); …
Run Code Online (Sandbox Code Playgroud)

knockout.js

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

适用于Windows RT的数据库

有人知道Windows RT是否有某种形式的SQL Express可用吗?希望C#友好而不是C++.

sql-server-express windows-8 windows-rt

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