小编Jer*_*yow的帖子

在发布模式下编译silverlight程序集时,IL偏移量丢失

我按照这些说明将IL偏移添加到Silverlight堆栈跟踪.这在DEBUG模式下构建时效果很好但是我们的生产/ qa构建过程使用RELEASE模式编译所有内容,这似乎松散了IL偏移信息.在释放模式下,所有IL偏移最终都是"0xffffffff".使用反射器比较调试/发布程序集我注意到DebuggableAttribute的使用方式不同.

DEBUG构建:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: ComVisible(false)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.EnableEditAndContinue | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.Default)]
[assembly: AssemblyConfiguration("Debug")]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows=true)]
[assembly: Extension]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: CompilationRelaxations(8)]
[assembly: TargetFramework("Silverlight,Version=v5.0", FrameworkDisplayName="Silverlight 4")]
[assembly: AssemblyCopyright("Copyright @ Foo Company 2010-2012")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyTitle("Foo.Ria.Bar")]
[assembly: AssemblyCompany("Foo Company")]
[assembly: AssemblyProduct("Foo Product")]
Run Code Online (Sandbox Code Playgroud)

vs RELEASE构建:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: ComVisible(false)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows=true)]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyTitle("Foo.Ria.Bar")]
[assembly: AssemblyTrademark("")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: CompilationRelaxations(8)]
[assembly: TargetFramework("Silverlight,Version=v5.0", FrameworkDisplayName="Silverlight 4")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("Foo Company")] …
Run Code Online (Sandbox Code Playgroud)

.net silverlight il

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

TypeScript:是否可以创建映射的联合类型?

是否可以组合"映射类型"和"联合类型"功能来创建一个表达式,该表达式将以下接口作为输入:

interface AwaActionTypes {
  CLICKLEFT: 'CL';
  CLICKRIGHT: 'CR';
  SCROLL: 'S';
  ZOOM: 'Z';
  RESIZE: 'R';
  KEYBOARDENTER: 'KE';
  KEYBOARDSPACE: 'KS';
  OTHER: 'O';
}
Run Code Online (Sandbox Code Playgroud)

并生成一个类似于以下union类型别名的类型:

type AwaActionType: 'CL' | 'CR' | 'S' | 'Z' | 'R' | 'KE' | 'KS' | 'O';
Run Code Online (Sandbox Code Playgroud)

我试着用的组合keyof,|等上一些工作没有土地.手册中也没有看到任何内容.

typescript

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

用于移动Web应用程序的HTML和CSS锁定屏幕

我正在使用jquery mobile,backbone,underscore和tbd模板引擎构建单页,离线html5 Web应用程序.

我想创建一个类似于原生iPhone锁屏的锁屏.在我重新发明轮子之前,有没有人见过这样的东西?我无法找到这样的例子.

谢谢!

css html5 mobile-website lockscreen jquery-mobile

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

自定义元素的绑定上下文 - 它到底是什么,如何访问父虚拟机

我在文档中找不到答案,所以我在这里问.传递给bind自定义元素方法的绑定上下文究竟是什么?它仅仅等于路由器当前活动的ViewModel吗?至少,这是我到目前为止所发现的.

为什么它不是元素的父(在DOM方面)VM?

用这个代码

@customElement("myelem")
@inlineView("<template><content></content></template>")
export class MyElem{
    bind(ctx){
      console.log(ctx);
    }
}

// welcome.html
<myelem>
    <h3>inside myelem</h3>
    <myelem>
      <h4>inside inside ... </h4>
    </myelem>
  </myelem>
Run Code Online (Sandbox Code Playgroud)

控制台中的输出只是当前viewmodel(Welcome)打印两次.

我希望它是Welcome第一个(外部)myelem,但是MyElem第二个(内部)出现......

请解释为什么我在这里错了,内部自定义元素如何知道它的实际上下文(我的意思是上面的情况中的外部上下文),而不使用丑陋的黑客,比如在"共享"上下文中创建秘密属性(实际上传递给他们两个的那个)

javascript aurelia

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

如何使用Aurelia.io增强服务器端生成的页面?

我正在编写一个应用程序,其中一些部分为SPA,一些页面在服务器端生成用于SEO.我选择了Aurelia.io框架,并使用enhance方法在我的页面上启用自定义元素.但我找不到在我的服务器端页面上使用aurelia特定模板指令和插值的最佳方法.让我们从一个例子开始吧.

我的所有页面都包含动态标题.此标头将是一个名为的自定义元素my-cool-header.此标头将加载验证用户并显示其名称,或者,如果当前没有用户进行身份验证,将显示指向登录的链接.页面正文将在服务器端生成并缓存.所以,我们会有类似的东西:

<html>
<body>
    <my-cool-header>
        <img src="logo.png">
        <div
            show.bind="user">${user.name}</div>
        <div
            show.bind="!user"><a href="/signin">Sign-in</a></div>
    </my-cool-header>
    <div>Cachabled content</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后,我的标题将由以下定义:

import {UserService} from './user';
import {inject} from 'aurelia-framework';

@inject(UserService)
export class MyCoolHeader {
    constructor(userService) {
        this.userService = userService;
    }

    async attached() {
        this.user = await this.userService.get();
    }
}
Run Code Online (Sandbox Code Playgroud)

使用以下模板:

<template>
    <content></content>
</template>
Run Code Online (Sandbox Code Playgroud)

而这个引导脚本:

export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging()
    .globalResources('my-cool-header');

  aurelia.start().then(a => a.enhance(document.body));
}
Run Code Online (Sandbox Code Playgroud)

在此配置中,自定义元素已正确加载和实例化.但是,我无法访问节点内<content>节点的viewModel .因此,所有插值(${user.name}) and attributes (show.bind` ) are ignored. If …

javascript progressive-enhancement aurelia

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

TypeScript 泛型:参数类型推断

考虑以下代码:

function ensure<TModel, TValue>(accessor: { (obj: TModel): TValue; }) { 
}

interface Person {
    firstName: string;
    lastName: string;
}

ensure((p: Person) => p.firstName);  // <-- this works
ensure<Person>(p => p.firstName);    // <-- this does not work
Run Code Online (Sandbox Code Playgroud)

为什么最后一行是语法错误?

提供的参数与调用目标的任何签名都不匹配。

为什么 p 被推断为类型any而不是Person

这是TypeScript 游乐场中代码的链接

typescript

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

Aurelia:绑定到计算值

在我的应用程序中,我需要有一些表格,其中包含必须求和的值行.我需要循环遍历这些行,为它们提供输入,然后构建一个在编辑输入时应该更新的总和.

这是一个简化的例子:该类:

export class example {
    items = [
        { id: 1, val: 100 },
        { id: 2, val: 200 },
        { id: 3, val: 400 }
    ];

    get sum() {
        let sum = 0;
        for (let item of this.items) {
            sum = sum + parseFloat(item.val);
        }
        return sum;
    }
}
Run Code Online (Sandbox Code Playgroud)

风景:

<div repeat.for="item of items" class="form-group">
    <label>Item ${$index}</label>
    <input type="text" value.bind="item.val" class="form-control" style="width: 250px;">
</div>
<div class="form-group">
    <label>Summe</label>
    <input type="text" disabled value.one-way="sum" class="form-control" style="width: 250px;" />
 </div>
Run Code Online (Sandbox Code Playgroud)

直到这里,一切都像我期望的那样工作.但是:它sum …

javascript aurelia

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

Aurelia有替代品吗?

我很好奇是可以将Aurelia js应用程序编译为一个minified.js文件.使用模板避免生产中的额外请求?

类似于ng-template https://www.npmjs.com/package/gulp-ng-templates in angular

javascript production angularjs aurelia

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

如何检查是否使用脏检查?

我的Aurelia应用程序中有一些复杂的屏幕,我想轻松检查一些绑定是否脏了.我可以在我的所有属性getter中添加console.log并检查它何时被调用,但这并不容易.

理想情况下,我想在控制台中获取每个绑定使用的观察者策略,但我没有找到插入位置以添加此日志.

谢谢

javascript aurelia aurelia-binding

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

将值附加到Aurelia路由器config.title

我想为我的Aurelia应用程序设置基本标题值,然后根据活动的路由为其附加一个值.

我的路由器配置是:

export class App {
    configureRouter(config, router) {
        config.title = 'Brandon Taylor | Web Developer | Graphic Designer';
        config.map([
            . . .
            { route: 'work', name: 'work', moduleId: 'work', nav: true, title: ' | work' },
            . . .
        ]);

        this.router = router;
    }
}
Run Code Online (Sandbox Code Playgroud)

奥里利亚希望将追加title导航参数来开始config.title,但我想它的结束.

我试过在视图模型中做一个覆盖:

export class Work {
    activate(params, routeConfig, navigationInstruction) {
        routeConfig.navModel.router.title += ' | work';
    };
}
Run Code Online (Sandbox Code Playgroud)

但结果是:

Brandon Taylor | Web Developer | Graphic Designer …
Run Code Online (Sandbox Code Playgroud)

javascript aurelia

5
推荐指数
2
解决办法
1092
查看次数