小编Mat*_*att的帖子

全局Javascript事件处理对象上下文

我在Javascript中的事件处理程序中遇到以下问题.我有一个像这样有一个mousemove事件处理程序的对象.

function MyObject(){ }
function MyObject.prototype = {

    currentMousePosition: null,
    onMouseMove: function(ev){
       this.currentMousePosition = this.getCoordinates(ev);
    },
    getCoordinates: function(ev){
        if (ev.pageX || ev.pageY)
            return { x: ev.pageX, y: ev.pageY };

        return { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - document.body.clientTop };
    }

};
Run Code Online (Sandbox Code Playgroud)

我试图解决的问题解决了对象上下文.在我的onMouseMove函数中,它分配currentMousePosition属性.当然这不起作用,因为它是处理mousemove事件的静态函数.

我正在寻找的是一种使用我的事件处理程序传递对象上下文的技术/方法.我能想到的最好的例子是Google Maps API函数GEvent.bind()有了它,您可以使用要在指定事件上触发的函数传递对象.我基本上都在寻找同样的东西.

javascript oop javascript-events objectcontext

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

访问 TemplateRef 会在 Angular2 中给出一个空的注释节点

在 Angular2 中构建自定义排序组件,但我无法访问模板变量。我需要能够访问ng-template以便我可以根据提供的模板“克隆/标记”然后创建放置区的元素。

我试过使用@ViewChild("dropzone"),但它也返回一个空的评论节点。

这是组件

@Component({
    selector: "my-sortable",
    template: `
        <ng-content select="my-sortable-content"></ng-content>
    `
})
export class SortableComponent implements AfterViewInit {

    @Input() //@ContentChild("dropzone")
    dzTemplate: any;

    onAfterViewInit() {
        // Outputs an object but the 
        // nativeElement is an empty 
        // comment node
        console.log(this.dzTemplate); 
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 HTML

<my-sortable [dzTemplate]="dropzone">
    <ng-template #dropzone>
        <p>Hey, I'm a drop zone!!</p>
    </ng-template>
    <my-sortable-content>
        <div *ngFor="...">
            ...
        </div>
    </my-sortable-content>
</my-sortable>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

typescript angular

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

Microsoft SQL Count问题

嘿聪明人.我遇到以下SQL语句的问题.我知道我不能在OnlineStatus列上做GROUP BY,这是有道理的,因为它是一个函数调用,而不是我表中的实际列.我如何修改这个以便我可以计算有多少用户在线?

SELECT CASE dbo.fnGetWebUserOnlineStatus(W.Id) 
        WHEN 1 THEN 'Online' 
        WHEN 2 THEN 'Ingame' 
        ELSE 'Offline' 
       END AS OnlineStatus
FROM dbo.WebUsers W
WHERE W.[Status]=1
GROUP BY OnlineStatus
Run Code Online (Sandbox Code Playgroud)

sql sql-server count

4
推荐指数
1
解决办法
361
查看次数

Silverlight MouseLeftButtonDown事件未触发

我可以得到MouseEnter,MouseLeaveClick事件发生,但不是MouseLeftButtonDownMouseLeftButtonUp.

这是我的XAML

    <UserControl x:Class="Dive.Map.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
        <Canvas x:Name="LayoutRoot" MouseLeftButtonDown="LayoutRoot_MouseLeftButtonDown">
            <Button x:Name="btnTest" Content="asdf" Background="Transparent"  MouseLeftButtonDown="btnTest_MouseLeftButtonDown"></Button>
        </Canvas>
    </UserControl>
Run Code Online (Sandbox Code Playgroud)

这是我的代码

public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void btnTest_MouseLeftButtonDown( object sender, MouseButtonEventArgs e )
    {
        btnTest.Content = DateTime.Now.ToString();
    }

    private void LayoutRoot_MouseLeftButtonDown( object sender, MouseButtonEventArgs e )
    {
        e.Handled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

silverlight button event-handling

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

XQuery如果存在条件插入/替换

XQuery会检查一个节点是否存在,然后运行一个替换语句,如果没有,那么插入语句是什么?

这就是我的想法.我想存储用户是否已阅读XML中的重要消息.这是数据的样子.

<usersettings>
    <message haveRead="0" messageId="23" ></message>
    <message haveRead="1" messageId="22" ></message>
</usersettings>
Run Code Online (Sandbox Code Playgroud)

基本上这个XML告诉我用户已经阅读了一条消息,而另一条消息仍然需要被查看/读取.

我想将insert/replace xquery组合成一个语句.这就是我的想法.

UPDATE WebUsers SET UserSettings.modify('

        declare default element namespace "http://www.test.com/test"; 

        IF a node exists with the messageId
            code to replace node with new update
        ELSE
            code to insert a new node with the provided variables
        ')

        WHERE Id = @WebUserId
Run Code Online (Sandbox Code Playgroud)

xquery sql-server-2008

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

循环中Javascript函数内的冒号

我正在探讨一些HTML5 Javascript演示,并在语法中遇到了我以前从未见过的东西.查看run函数并注意如何在while循环中创建搜索对象表示法.感兴趣的行包括15和18.任何人都可以解释这种语法吗?

function run() {
  var n = 1;
  search: while (running) {
    n += 1;
    for (var i = 2; i <= Math.sqrt(n); i += 1)
      if (n % i == 0)
       continue search;
    // found a prime!
    postMessage(n);
  }
}
Run Code Online (Sandbox Code Playgroud)

(代码来自这里; http://html5demos.com/js/cruncher.js)

javascript html5

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

如何在 Angular 中将多个字段验证为一个?

我正在构建一个 Angular 5 表单。我需要在我的表格(电子邮件或电话)上提供联系信息。需要电子邮件地址或电话号码,但不能同时提供。我将如何为这种情况创建自定义验证器?从文档来看,验证器似乎只负责一个控件,而我的验证器需要知道多个控件来检查它们的所有值。

ngOnInit() {
   this.form = this.formBuilder.group({
       'name': [null, [Validators.required]],
       'email': [null, []], // A user can provide email OR phone, but
       'phone': [null, []], // both are not required. How would you do this?
   });
}
Run Code Online (Sandbox Code Playgroud)

typescript angular angular-forms

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

在C#中搜索字符串的工具

我正在寻找LIKE '%text to search%'C#中的SQL等价物.真的只是一个小文本搜索引擎,我可以用来检查字符串是否匹配.

c#

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