小编PW *_*Kad的帖子

在knockout视图中访问$ parent的$ parent - 嵌套上下文

为简洁起见而更新

如何在嵌套的Knockout foreach/with bindings中引用$ parents'$ parent?

示例 -

    <!-- ko foreach: grandParent -->
        <tr>
            <!-- ko foreach: $parent.parents --> // <-- Doesn't work
                <!-- ko foreach: children -->
                    <td data-bind="if: favToy().name == $parent.$parent.favToy().name">
                        <span data-bind="text: favToy().name"></span>
                    </td>
                <!-- /ko -->
            <!-- /ko -->
        </tr>
    <!-- /ko -->
Run Code Online (Sandbox Code Playgroud)

原版的

很抱歉这个令人困惑的问题,但我试图达到二级父级的值,以检查当前上下文中的值(如下所示),只显示一个跨度,如果它匹配$ parent的$ parent的值(呃!)

    <!-- ko foreach: grandParent -->
        <tr>
            <!-- ko foreach: $parent.parents -->
                <!-- ko foreach: children -->
                    <td data-bind="if: favToy().name == $parent.$parent.favToy().name">
                        <span data-bind="text: favToy().name"></span>
                    </td>
                <!-- /ko -->
            <!-- …
Run Code Online (Sandbox Code Playgroud)

javascript knockout.js

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

Breeze.js的替代品?

是否有Breezejs的替代方案,不需要.Net或Enterprise Framework Connector或数据库,并使用接受和仅返回JSON(无元数据)的普通REST服务?

breeze

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

更改域错误 - OpenId身份验证请求包含未注册的域

我在我的主域example.com上设置了一个项目,然后将其移动到子域sub.example.com

现在,当我尝试在OpenId上使用相同的(默认的ASP.NET MVC或我的Discourse论坛)项目并点击Google按钮使用我的Google帐户登录时,会抛出以下错误 -

  1. 那是一个错误.

    OpenID auth request contains an unregistered domain: http://sub.example.com

我曾尝试使用谷歌搜索该消息,但显然我是前四个人之一.这里有什么想法?

openid asp.net-mvc dotnetopenauth discourse

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

KO.Angular/Breeze Initializer中的计算等效项

试图更深入地了解Angular如何处理数据绑定并更好地理解它,有一件事很难让我理解 -

在Knockout中,我使用一个计算来跟踪属性的变化.在Angular中,它将这个逻辑移动到视图中,这对我来说是微不足道的,但如果这是我理解的方式.

我的问题是,当我使用Breeze/Angular初始化一个新实体时,如何创建类似于计算机的属性,这些属性会在实体属性发生更改时得到通知?

myEntity.fullName = ko.computed(function () {
    return myEntity.firstName + ' ' + myEntity.LastName;
});
Run Code Online (Sandbox Code Playgroud)

在Angular中相当于

myEntity.fullName = function () {
    return myEntity.firstName + ' ' + myEntity.LastName;
};
Run Code Online (Sandbox Code Playgroud)

这是否正确跟踪实体?

angularjs breeze

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

Safari Print Media查询与其他浏览器不匹配/切断

我有一个Web应用程序,在Safari中呈现时看起来很好,但浏览器不遵守打印介质查询.在Chrome中,整个可打印区域看起来很好,但在Safari中,它似乎只是可见内容的一些变体.

当向下滚动页面时,页眉或顶部区域被切断,当在页面上打印较高时,底部被切断.

我已经尝试了以下打印媒体查询(没有效果) -

  1. 设置一个 min-height
  2. 设置height容器上值的任何变化
  3. 缩小和打印
  4. 改变分辨率/比例

似乎没有任何效果.

与Chrome不同,我无法找到调试原因的方法,也无法自行调试打印样式.

注意 - 我正在使用Bootstrap作为样式,因此有容器,行,跨度等......但即使完全删除它们,并且它自己的行上的所有内容也没有区别,内容的相同"高度"在打印时显示.

css printing safari media-queries

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

如何将我的Durandal.js应用程序升级到Aurelia?

我有一个现有的Durandal.js应用程序,它利用了所有ES5功能,但我想将它升级到新的Aurelia平台.什么是正确的升级路径?最简单的方法是尽可能地减少前面的最简单方法?是否有升级路径的文档?

durandal aurelia

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

在没有实体框架的情况下使用Breeze.js

我们正在尝试使用与John Papa的Pluralsight课程(例如,Web API,淘汰赛,jquery等)类似的技术和技术来开发SPA.但是,作为一家公司,我们决定不使用Entity Framework.我们想使用标准ADO.NET编写服务器端数据层.

现在,我们正试图将Breeze整合到我们的解决方案中.然而,即使Breeze网站说他们并没有与微软绑定,但是如果你不使用EF,你将会遇到与Breeze一起漫长而痛苦的旅程.

我们尝试评估NoDB Breeze示例,但是这个问题非常复杂且难以理解(并且弄清楚如何在服务器端的标准分层拱中实现它 - 一切看起来都是紧密耦合的,只是放在MVC/Web API项目的Models文件夹).

所以,我的问题是:

- 如果您不使用EF,Breeze是客户端数据库的错误选择吗?

- 如果Breeze可以很容易地在服务器端使用EF并且只使用直接的ADO.NET,那么是否有更好的示例或文档显示如何执行此操作?

- 鉴于我们的SPA实施非常类似于John Papa的SPA拱门,包括durandal,knockout,Web API等,除了(再次)我们没有使用EF,对我们来说有比Breeze更好的选择吗?

- 然后是SignalR ......我们计划稍后实施SignalR,Breeze是否可以与SignalR一起使用?

谢谢!

javascript entity-framework signalr single-page-application breeze

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

客户端HTML清理有多安全?

我最近一直在寻找Pagedown.js,因为在我的页面上使用mark-down而不是丑陋的readonly textareas.

我非常谨慎,因为它似乎很容易欺骗消毒的转换器.我已经看到围绕Angular.js进行了一些讨论,并且它是html绑定,并且当Knockout.js 3.0出现以前曾经存在对html绑定的不安全感时也听到了一些内容.

似乎所有人都需要做的就是在Pagedown.js中禁用清洁剂,例如:

var safeConverter = new Markdown.Converter();
// safeConverter is open to script injection

safeConverter = Markdown.getSanitizingConverter();
// safeConverter is now safe

// Override the getSanitizingConverter pseudo-code
Markdown.getSanitizingConverter = function () {
    return Markdown.Converter;
};
Run Code Online (Sandbox Code Playgroud)

他们可以打开一个站点,直到脚本注入.这不是真的吗?

编辑

那么为什么像这样的图书馆使用消毒剂来使用客户端呢?当然他们说不要渲染未经过清理的HTML,但下一行说使用Markdown.Sanitizer ..

Angular如何通过消毒杀菌剂服务不对它开放,或者这只是一场闹剧?

html javascript javascript-injection angularjs knockout.js

9
推荐指数
2
解决办法
3722
查看次数

如何在IE9剥离之前获取样式属性值

我试图在IE9-10删除无效值之前获取style属性的值.到目前为止,我已经尝试了以下各种变体 -

$0.attributes.style $0.style $0.getAttribute('style')

但似乎我试图设置一个无效的值,我无法访问它 -

<div style="display: none; color: ${fake-value}">

</div>
Run Code Online (Sandbox Code Playgroud)

以上所有内容都只会返回,display: none因为IE9-10会删除无效值.

作为一个说明,我已经尝试了大量的变化,所以如果它不可能是好的,但你尝试过或者你可以尝试答案没有多少帮助,除非他们被确认做某事:)

javascript css internet-explorer inline-styles internet-explorer-9

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

Visual Studio 2013无法打开Razor视图 - "操作无法完成"

我正在打开一个较旧的WebForms项目,并尝试在Visual Studio 2013中将其更新为ASP.NET MVC 4.当我添加一个新项目时,我可以运行它,一切正常.

当我尝试打开Razor视图(cshtml文件)时,VS2013给了我通用的"操作无法完成".错误消息,不会打开它们.

如果我创建一个不在WebForms解决方案内部的新项目,它会打开视图.

如果我右键单击该文件并选择"打开方式"和"HTML(Web窗体)编辑器",它会打开,但不会突出显示Razor语法.

是什么赋予了?

asp.net-mvc razor visual-studio-2013

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