问题标签 [durandal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11981 浏览

mvvm - 使用 Twitter Bootstrap 按钮组作为带有敲除绑定的单选框

这是有效的:

视图.html

控制器.js

正如预期的那样,当您选择第二个收音机时,priority observable 的值将变为“需要”。但是,我想将 Twitter Bootstrap 按钮组用作收音机。这是我拥有的 HTML,但它并没有像预期的那样改变 observable:

更新我在这里有一个 jsfiddle:http: //jsfiddle.net/a8wa8/6/ “priority1”是标准单选选择,“priority2”是引导按钮。

0 投票
2 回答
1943 浏览

breeze - 不支持在同一个查询中使用微风执行选择和展开

我用 Durandal/breeze 开发了一个 asp.net 解决方案。

这是我获取所有托运人的代码:

以下是相关模型:

现在我还需要包括国家

但是通过实际查询,我没有得到国家。

我尝试:

但我得到了错误:

use of both 'expand' and 'select' in the same query is not currently supported

我的问题:如何获得国家?


更新

正如 Jay 建议的那样,我们可以这样做:

现在,我得到了一个city_Country对象:

在此处输入图像描述

我不明白为什么我们得到这个city_Country,因为城市\国家对象中已经有国家数据:

在此处输入图像描述

此外,它给我带来了问题,因为我的下一条语句尝试将我的 dto 映射到我的实体中,并且该city_Country对象在我的实体中不存在,并且在映射时发生错误。

下面我们看到我的实体对象并且没有city_Country对象:

在此处输入图像描述

我必须在我的映射上做一些特别的事情来避免它吗?

以下是我的映射操作功能:

0 投票
2 回答
978 浏览

javascript - 使用 Durandal 动态创建 SPA

对于我们的单页应用程序,我们需要构建一个系统来“实时”创建视图和视图模型,而不是将一组定义的视图和视图模型作为 .html 和 .js 文件存在于服务器上。< /p>

这将是一个 Intranet 应用程序,我们希望最终用户能够在使用应用程序时定义他们在应用程序中看到和使用的内容。例如,最终用户 A 创建视图 1、视图 2 和视图 3,而最终用户 B 选择创建视图 4 和视图 5,依此类推。然后在浏览器会话中创建这些视图,并以某种方式保存以供用户下次使用该应用程序时使用。

他们可以随意命名这些视图(例如,仪表板 1、工厂视图 2 等),然后他们可以选择一个或多个“小部件”出现在每个视图上。“小部件”将是一组 JavaScript/HTML/CSS 代码,类似于 Web 表单世界中的用户控件,将执行其特定功能并能够拖动和调整大小。当然,用户添加到每个视图中的所有小部件都将被保存以供后续使用。

因此,每次最终用户 A 打开应用程序时,他们都会看到他们的 3 个视图作为顶部的选项卡(在配置视图时以他们命名的任何名称命名),他们将能够导航到视图并查看和查看与他们在每个视图上选择的小部件进行交互。

我们的应用程序有点像 Trello,其中视图可以由最终用户添加、更新、删除等,“小部件”可以动态添加到视图中、移动、删除、更新等。以动态创建的方式。

在研究 SPA 时,视图和视图模型被开发为实际的物理文件,它们存在于生产 Web 服务器上,并为所有用户提供预期的功能。但是,我们的 SPA 在可用视图/页面方面需要更加动态。

这种场景可以使用Durandal吗?如果是这样,关于如何构建这样的东西的任何指导?

或者,这对杜兰达尔来说是不可能的吗?如果是这样,对我们来说更好的道路是什么?

作为最后的手段,我们是否需要创建某种 html 和 JavaScript 生成器,以便在用户选择配置选项后输出文件?

或者?????

谢谢你的帮助!

0 投票
2 回答
5040 浏览

knockout.js - Durandal Subrouting (热毛巾)

基本上,我正在尝试在菜单中创建一个菜单。因此,在主菜单路线中,会有一个带有另一组路线的垂直菜单。单击子菜单路由时,仅更新部分页面,垂直菜单不会重新加载。我猜它会类似于这个 KO fiddle http://jsfiddle.net/dPCjM/,但是在主路由视图中需要另一组“ghost” KO指令:

以及 durandal 路由器上的其他一些配置...

编辑:澄清一下,我不是要在其中一个主菜单项中创建下拉菜单。我正在尝试在其中一个视图中创建一个菜单。基本上是 durandal 应用程序中的一个 durandal 应用程序 :)

框架??:)))))))))))

0 投票
1 回答
1240 浏览

breeze - 让 koGrid 与 Breeze 和 Durandal HotTowel 模板一起工作

我有一个包含我试图绑定到我的视图模型的 koGrid 的 Durandal 小部件(热毛巾模板)。

我对这些技术很陌生,包括异步延迟和承诺,所以请原谅我对这些问题的无知!

视图模型从 datacontext 类中获取数据,该类仅返回 Breeze 实体管理器查询的结果(返回 Q 承诺):

在我的小部件的构造函数中,我有:

数据在“ents”变量中返回,被推入 observableArray myData,这应该可以工作......但是 koGrid 文件中出现错误:

valueAccessor() 未定义,这会阻止网格工作。

现在,如果我将执行远程查询的代码更改为:

(使用 jQuery 承诺时),它出于某种原因工作。但是,ents 变量的类型为“makePromise”,我不确定如何解决。

据我了解,这是 Breeze 无论如何都会返回的 Q 承诺,如果我使用

Q.when(queryDataContext.executeQuery('Customer', 'good')).then(function(ents) {

然后 ents 包含数据,但我又回到了 koGrid 未定义的问题。

非常感谢任何帮助!

0 投票
5 回答
80682 浏览

single-page-application - HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容

在完成 Pluralsight 上的 John Papa 课程后——顺便说一句,这太棒了!!!)

我现在正在创建我的第一个 SPA。我来自桌面应用程序开发人员背景,如果这个问题是新手,请原谅!

当我加载 SPA 而不是看到启动屏幕然后是主屏幕时,我收到了以下错误消息:

HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。最可能的原因是:

未为请求的 URL 配置默认文档,并且未在服务器上启用目录浏览。

任何人都可以帮助解决这个问题吗?

0 投票
1 回答
767 浏览

requirejs - 在 Durandal 中加载 jwplayer

我想在使用Durandal框架构建的单页应用程序上使用 jwplayer。这个想法是创建一个不受应用程序导航影响的持久音频播放器。但我无法在 Durandal 中加载 jwplayer。

我已经使用 Require.js 在一个简单的 html 文件中成功加载了 jwplayer。但是这种方法似乎不适用于 Durandal(也使用 Require.js)。

这是我在shell.js上的代码:

shell.html里面我有这个代码:<div id="player">loading player...</div>

这是我收到的错误消息:

似乎该player元素在 Durandal 模块中无法识别。是什么导致了这个问题?如何在 Durandal 模块中添加 jwplayer?

0 投票
2 回答
734 浏览

asp.net - 禁用 Durandal 内联样式

Durandal 似乎会自动将以下内联样式添加到包装其数据视图的 div 元素中:

这发生在使用 Durandal 的 Durandal 和 John Papa Hot Towel ASP.NET SPA 模板中。

此内联样式覆盖了我的外部样式表,因此我需要禁用此行为。我假设这是由其中一个 JavaScript 文件注入的,但我一生似乎无法弄清楚在哪里。

任何人都知道如何防止添加这种内联样式?

0 投票
2 回答
1639 浏览

knockout.js - 使用分页改进 CodeCamper

我一直在观看 John Papa 关于 Pluralsight 构建 SPA 的精彩视频。

现在,我正在尝试为 Sessions 页面实现分页,但我不确定我所做的是否是正确的方法。如果有人尝试过类似的事情,我将不胜感激。

这就是我所做的。

会话.html


会话.js


数据上下文.js


这可行,除了 canNext,因为我不知道如何将 inlineCount 的结果添加到会话视图模型中。最好的方法是什么?

0 投票
1 回答
6579 浏览

jquery - 带有 Durandal SPA 模板的 MVC 身份验证和防伪令牌

我的 SPA 的某些区域需要对所有用户开放,而某些区域需要身份验证。在这些区域中,我要保护的是通过 AJAX 加载的数据。

我有一个身份验证服务(见下文),我将其作为依赖项添加到我的 durandal main.js 中。该服务称为:

在我的main.js 中,我调用

它警告用户他们没有被授权,并将用户导航到登录视图/视图模型,他们可以在其中输入详细信息并尝试登录。

构建此身份验证视图模型时想到的一些问题:

  • 我正在做的事情有什么明显的担忧吗?
  • 这就是我“注定”在杜兰达尔做事的方式吗?
  • 我在重新发明轮子吗?我在杜兰达尔身上看不到这样的东西。

大多数人似乎都在创建单独的 cshtml页面;一个用于登录(如果用户未通过身份验证),以及通常的index.cshtml是否有任何充分的理由让我切换到该方法?

我在服务器端“用户控制器”上的登录操作具有我需要发送的 [ValidateAntiForgeryToken] 属性。
我还有一个“防伪”服务(见下文),我还将它作为依赖项添加到我的main.js viewModel文件中(也在我的 main.js 中)。

这会拦截所有 ajax 请求(连同内容),并将 MVC AntiForgeryToken 值添加到数据中。似乎完全按照我的意愿工作。如果有任何错误/错误,请告诉我。

下面完成认证服务。