我正在尝试在我的项目中设置aurelia-validation插件.我正在使用VS2015.我已经使用jspm install aurelia-validation命令安装了aurelia-validation插件.
Config.js文件已更新"aurelia-validation":"github:aurelia/validation@0.2.7",在jspm_packages/github中我看到了validation@0.2.7文件夹.
我在main.js文件中添加了一个插件.
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-validation');
aurelia.start().then(a => a.setRoot());
}
Run Code Online (Sandbox Code Playgroud)
并将我的aurelia-app更改为aurelia-app ="main"
当我启动应用程序时,我在Firefox控制台中收到以下错误:
Unhandled promise rejection TypeError: aurelia.globalizeResources is not a function
Stack trace:
configure@http://localhost:15724/jspm_packages/github/aurelia/validation@0.2.7/index.js:28:5
loadPlugin/<@http://localhost:15724/jspm_packages/github/aurelia/framework@0.15.0/aurelia-framework.js:34:32
run@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/es6.promise.js:91:43
notify/<@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/es6.promise.js:105:11
module.exports@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.invoke.js:6:25
@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:40:9
run@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:27:7
listner@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:31:5
Run Code Online (Sandbox Code Playgroud)
我试过用jspm cc命令清除jspm缓存,但这没有用.我的所有包裹都是最新的.
我错过了什么?
谢谢.
我正在使用JSON检索一些文本数据,这些数据包括使用换行符格式化的文本.我非常想将这些换行符渲染给用户.
问题:实现这一目标的"正确"/"推荐"方法是什么?
我试过的选项:
<p>${myText}</p>::不呈现换行符<pre>:: <p><pre>${myText}></pre></p>渲染换行符,但包含长<pre>文本的所有已知和喜爱的问题,例如某些浏览器中的水平滚动和次优字断.<br>标记替换换行符:<p>${myText | textFormat}</p>export class TextFormatValueConverter {
toView(value) {
return value.replace(new RegExp('\r?\n','g'), '<br>');
}
}
Run Code Online (Sandbox Code Playgroud)
这会渲染<br>标签,但Aurelia活页夹会转义标签并将其显示为用户的文字文本.*使用上面的转换器绑定和innerHTML :: <p innerHTML.bind="myText | textFormat"></p>渲染确定但是我担心它可能容易受到攻击,因为文本来自遗留系统,它不对网络的使用做任何输入清理.
我有两节课:
export class Shipment {
shipmentId: number;
widget: Widget;
}
export class Widget {
widgetId: number;
name: string;
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个ShipmentUi视图模型,它有一个发货实例(this.shipment).
在ShipmentUi视图中,我构建了UI的一部分,显示了允许选择Widget的WidgetUi:
<compose view-model="src/views/widgetUi" model.bind="shipment"></compose>
Run Code Online (Sandbox Code Playgroud)
WigetUi的视图模型可以节省出货量.所以WidgetUi有一个this.shipment.
然后widgetUi的视图显示一个选择器:
<select value.bind="shipment.widget" >
<option class="dropdown-toggle" repeat.for="widget of widgets"
model.two-way="widget">${widget.name}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在我的撰写标签中(在ShipmentUi的视图中),我宁愿绑定到shipment.widget.
这将使WidgetUi的视图模型只获得一个this.widget.(该WidgetUi课程不需要查看或了解shipment它.它的唯一功能是允许选择a Widget.它不需要关心它是用于装运还是用于其他东西.)
但是,正如我理解Javascript,这是行不通的.
因为如果我只是传递对shipment.widget的引用,那么WidgetUi将只有对widget部分的引用.起初WidgetUi this.widget将与ShipmentUi具有相同的参考this.shipment.widget.
但是当用户选择不同的小部件时,WidgetUi this.widget将获得不同的引用(对于下拉列表中新选择的小部件).但ShipmentUi的this.shipment.widget遗嘱仍将引用原始小部件.
在Javascript中绑定到子对象时,如果要了解子对象的交换,是否总是必须传入包含对象?
这个问题的原因是我的测试不是100%确定的.所以我希望有人能为我清理它.
我也希望我错了,因为我真的不喜欢必须公开包含类中的所有数据.(在这种情况下,可以shipment在WigetUi课堂上访问.)
Fabio Luz要求澄清我的要求.所以这是一次尝试.这将介绍上面的示例,但将其更改为我希望它工作的方式. …
根据Aurelia的创建者Rob Eisenberg的说法,应该可以在彼此内部嵌套aurelia应用程序.
由于他在上述链接中提到的例子不再公开,如果这里的任何人可以进一步详细说明,甚至链接或写一个关于如何实现这种嵌套的小例子,这将是非常有用的.
我希望用Aurelia创建的主要应用程序和界面将包含一个Windows XP桌面样式shell,其中一个可以从开始菜单打开嵌套的Aurelia应用程序,在主应用程序内的嵌入式窗口中打开"Windows桌面区域" - 就像Windows或文件浏览器将在正常的Windows XP操作系统中打开,但在SPA内部.
为了使这个真正可扩展,我宁愿保留将嵌套aurelia应用程序放在主应用程序根文件夹之外的文件夹中的可能性,而是使用磁盘上的文件/文件夹路径从主应用程序链接到它们.
因此,为了保持"简单",想象这将是主要应用程序(Windows shell) - 单击按钮打开一个窗口,可以最小化,调整大小或移动.在那个窗口中,另一个aurelia应用程序将打开.最后,您希望能够将某些状态从主应用程序转移到嵌套应用程序,例如.语言或数据库.
如果可能,最好是嵌套应用程序可以从主应用程序根文件夹外部定位和引用.
我从基于Web表单的遗留应用程序引导Aurelia.我的身份验证相关信息在Custom Base Page类的Web表单应用程序中维护.
如何将此身份验证信息传递和维护到Aurelia的全球范围?这样我可以在使用路径构建菜单时使用它来显示/隐藏基于用户/角色的某些菜单项?
我们使用puppeteer,有时还使用playwright来运行一些集成测试。我们模拟了一些目标页面的脚本依赖项,这会导致子资源完整性哈希不匹配。
无法使用计算的 SHA 在资源“http://localhost:3000/static/third-party/adobe-target/at-js/2.4.0-cname/at.js”的“integrity”属性中找到有效摘要-256 完整性'47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='。资源已被封锁。”
有没有办法通过标志或配置属性禁用完整性哈希检查?
google-chrome chromium subresource-integrity puppeteer playwright
我搜索如何停用compose data-bind上的转换,因为它不是很漂亮,而且我的内容html在chrome上的bug很小.因为我在转换时有一个滚动水平打印,在移动鼠标后显示为disaspear.内容在iFrame中.谢谢
这篇打字稿博客文章评论部分的帖子之一说:
如果我必须等到2.0以获得ES6发电机支持,我就会坚持使用Traceur.生成器是一个大问题,他们今天使用Koa,Co,Bluebird等库为您提供异步/等待支持.
Async/await关键字将允许应用程序保留类似于同步代码的逻辑结构.如何使用发电机来完成类似的事情呢?例如,如何将生成器与ajax调用结合使用以生成避免使用回调的同步样式代码?
我正在Aurelia写一个非常简单的数据网格自定义元素,部分用于我需要的功能,部分用于学习Aurelia.它进展顺利,但我仍然坚持如何获取自定义组件中元素的内容.
这是我的代码,问题的其余部分如下:
数据grid.js
import {inject, bindable} from 'aurelia-framework';
import _ from 'underscore';
export class DataGridCustomElement {
@bindable data = [];
@bindable height = '';
columns = [];
bind() {
this.sort(this.columns[0].property);
}
sort(property) {
if (property == this.sortProperty) {
this.sortDirection = !this.sortDirection;
}
else {
this.sortProperty = property;
this.sortDirection = true;
}
let data = _.sortBy(this.data, this.sortProperty);
if (!this.sortDirection) {
data = data.reverse()
}
this.data = data;
}
}
@inject(DataGridCustomElement)
export class DataGridColumnCustomElement {
@bindable title = '';
@bindable width = …Run Code Online (Sandbox Code Playgroud) 希望有人可以帮助我.我有以下观点:
<label repeat.for="option of options">
<input type="radio" name="periodOptions" model.bind="option" checked.bind="$parent.selectedOption" click.delegate="clicked()"/>
${option.text}
</label>
Run Code Online (Sandbox Code Playgroud)
和以下viewmodel:
export class PeriodPanel {
heading = 'Tidsperiode';
options = [];
selectedOption = {};
constructor() {
this.options = [
{id:1, text:'Vis med dagoppløsning'},
{id:2, text:'Vis med timeoppløsning'},
{id:3, text:'Vis periode'}
];
this.selectedOption = this.options[0];
}
clicked() {
console.log(this.selectedOption.id);
}
}
Run Code Online (Sandbox Code Playgroud)
分配的原因this.selectedOption = this.options[0];是确保最初设置了一个单选按钮.这很好看,但是当我依次点击每个单选按钮时,selectedOption变量的值不会改变,click-handler clicked()将每次打印值1.我究竟做错了什么?
TIA
javascript ×8
aurelia ×7
async-await ×1
chromium ×1
durandal ×1
ecmascript-6 ×1
generator ×1
html ×1
playwright ×1
puppeteer ×1
typescript ×1
webforms ×1