小编pet*_*lex的帖子

AngularJS中的视图未更新

在事件回调中更新模型时更新模型属性对视图没有影响,有什么想法可以解决这个问题吗?

这是我的服务:

angular.service('Channel', function() {        
    var channel = null; 

    return {        
        init: function(channelId, clientId) {
            var that = this;        

            channel = new goog.appengine.Channel(channelId);
            var socket = channel.open();

            socket.onmessage = function(msg) {
                var args = eval(msg.data);              
                that.publish(args[0], args[1]);
            };
        }       
    };
});
Run Code Online (Sandbox Code Playgroud)

publish() 功能是在控制器中动态添加的.

控制器:

App.Controllers.ParticipantsController = function($xhr, $channel) {
    var self = this;

    self.participants = [];     

    // here publish function is added to service
    mediator.installTo($channel); 

    // subscribe was also added with publish        
    $channel.subscribe('+p', function(name) { 
        self.add(name);     
    });                 

    self.add = function(name) …
Run Code Online (Sandbox Code Playgroud)

javascript data-binding angularjs angular-services

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

AngularJs Resource中的可选url参数

我有这样的资源:var Products = $resource('companies/:companyId/products') 问题是,我想通过url获取所有公司的产品companies/products,但是使用资源而不提供companyId我得到了companies//products.可能我可以使用另一个网址,就像我一样/products,但这是否意味着我必须为同一个东西拥有另一个资源?

在这个简单的例子中,我可以更改网址companies/products/:companyId,但似乎是非常普遍的情况.

javascript angularjs

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

Web API参数绑定

我在Web Api控制器中有这个动作:

public Data GetData(ComplexModel model)
Run Code Online (Sandbox Code Playgroud)

和模型是

class ComplexModel
{
     Guid Guid1 { get; set;}
     Guid Guid2 { get; set;}
     string String1 { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我想为Guid类型指定自定义绑定器,例如空字符串或null将绑定到空guid并且不想使用可空类型.试图注册这样的模型绑定器:

var pb = configuration.ParameterBindingRules;
pb.Insert(0, typeof(Guid), param => param.BindWithModelBinding(new GuidBinder())); 
Run Code Online (Sandbox Code Playgroud)

但它没有被调用,我得到无效的模型状态,错误信息是空字符串不能转换为类型Guid.

asp.net-web-api

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

在C#中关闭lambda表达式

我有这种功能.

function SomeFunction()
{

    const int NUMBER_OF_CONCURENT_THREADS = 50;

    List<Guid> sessions = new List<Guid>();

    ManualResetEvent[] doneEvents = new ManualResetEvent[NUMBER_OF_CONCURENT_THREADS];

    Action<int> makeServiceCall = (iter) =>
    {
        var proxy = GetProxy();
        sessions.Add(proxy.GetCurrentSessionId());

        doneEvents[iter].Set();
    };

    for (int i = 0; i < NUMBER_OF_CONCURENT_THREADS; ++i)
    {
        doneEvents[i] = new ManualResetEvent(false);                

        ThreadPool.QueueUserWorkItem((o) => 
        {
            int iter = i;
            makeServiceCall(iter);
        });
    }

    WaitHandle.WaitAll(doneEvents);

    Assert.AreEqual(50, sessions.Count);
}
Run Code Online (Sandbox Code Playgroud)

问题是我IndexOutOfRangeExceptiondoneEvents[iter].Set();代码行时得到了.请问,任何想法如何解决?

c# lambda closures

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

将复选框绑定到AngularJs中的对象值

问题在于将复选框(已选中/未选中)的状态绑定到对象值.

HTML:

<div ng:controller="Ctrl"> 
   <div ng:repeat="(letter, number) in obj">
     {{letter}} and {{number}}
     <input type="checkbox" ng:model="obj[letter]">
</div>    
Run Code Online (Sandbox Code Playgroud)

控制器:

function Ctrl() {
    this.obj = {a:true,b:true};    
};?
Run Code Online (Sandbox Code Playgroud)

单击第一个复选框时,它会影响第二个复选框的状态,但模型是正确的,因此obj变为{a:false,b:true}.

示例可以在http://jsfiddle.net/alexpetrov/tRxzr/找到

如何解决这个问题?

javascript angularjs

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