小编Mat*_*vis的帖子

将一个select绑定到Aurelia中的一个对象数组并匹配ID

所以,我有一个所有用户的列表,它填充了一个选项的选项.

<option repeat.for="user of userService.users">
  ${user.firstName} ${user.lastName}
</option>
Run Code Online (Sandbox Code Playgroud)

我有一个传入的组记录,其中附有一个用户列表.我遵循作弊说明并将其绑定到模型的单个索引.

<select value.bind="group.users[0]">
    <option repeat.for="user of userService.users" model.bind="user">
      ${user.firstName} ${user.lastName}
    </option>
</select>
Run Code Online (Sandbox Code Playgroud)

因此,组中的传入用户与列表中的某个用户相同:

{
    id: 123,
    firstName: 'Matt',
    lastName: 'Davis'
}
Run Code Online (Sandbox Code Playgroud)

但是当加载组并将其绑定到视图时,不会从选择中选择正确的用户.实际上,我希望这是因为JavaScript会寻找引用平等.

理想情况下,我想Aurelia路上找到传入的记录是如上和(a)通过选择测试平等(二),我在一些扩展(可能是过滤器?)已经定义搜索列表,(c)选择它在列表中并且(d)将该选择传播回记录中,以便记录现在在引用中同步.

我宁愿不回到手动执行此操作的触发器,因为在我的应用程序中我会有很多这样的选择.

对于(a)和(c),我愿意解决,尽管很遗憾.

javascript aurelia aurelia-binding

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

页面加载完成后执行javascript

我有一个html页面,其中包含一些预呈现的内容和一些未呈现的内容.我想立即显示预渲染的内容,然后开始渲染剩余的内容.我没有使用jQuery.

请参阅以下代码段.我曾经尝试这样做的各种方式,包括结束标记之前注入我的脚本,并提供我的脚本来填充DOM的回调window.onload,document.body.onloaddocument.addEventListener('DOMContentLoaded').在每种情况下,在呈现其余内容之前,页面不显示预呈现的内容.

<html><head></head>
  <body>
    <header>What it is, my doge?</header>
    <div id="main"></div>
    <script>
      var main = document.getElementById('main');
      for (var i = 0; i < 500; i++)
        main.innerText += new Date();
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

<html><head></head>
  <body>
    <header>What it is, my doge?</header>
    <div id="main"></div>
    <script>
      var main = document.getElementById('main');
      document.body.onload = function() {
        for (var i = 0; i < 500; i++)
          main.innerText += new Date();
      };
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

<html><head></head>
      <body>
        <header>What it is, …
Run Code Online (Sandbox Code Playgroud)

html javascript dom

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

.NET Core中的Mongo C#驱动程序和ObjectID JSON字符串格式

问题

我有一组动态数据.我想这样回来:

{
  _id: "58b454f20960a1788ef48ebb"
  ... 
}
Run Code Online (Sandbox Code Playgroud)

尝试

以下列出了不起作用的方法:

这个

await resources = _database.GetCollection<BsonDocument>("resources")
    .Find(Builders<BsonDocument>.Filter.Empty)
    .ToListAsync();

return Ok(resources);
Run Code Online (Sandbox Code Playgroud)

产量

[[{"name":"_id","value":{"bsonType":7,"timestamp":1488213234,"machine":614561,"pid":30862,"increment":16027323,"creationTime":"2017-02-27T16:33:54Z","rawValue":{"timestamp":1488213234,"machine":614561,"pid":30862,"increment":16027323,"creationTime":"2017-02-27T16:33:54Z"},"value":{"timestamp":1488213234,"machine":614561,"pid":30862,"increment":16027323,"creationTime":"2017-02-27T16:33:54Z"}}}]]
Run Code Online (Sandbox Code Playgroud)

这个

await resources = _database.GetCollection<BsonDocument>("resources")
    .Find(Builders<BsonDocument>.Filter.Empty)
    .ToListAsync();

return Ok(resources.ToJson());
Run Code Online (Sandbox Code Playgroud)

产量

[{ "_id" : ObjectId("58b454f20960a1788ef48ebb"), ... }]
Run Code Online (Sandbox Code Playgroud)

这个

await resources = _database.GetCollection<BsonDocument>("resources")
    .Find(Builders<BsonDocument>.Filter.Empty)
    .ToListAsync();

return Ok(resources.ToJson(new JsonWriterSettings() { OutputMode = JsonOutputMode.Strict }));
Run Code Online (Sandbox Code Playgroud)

产量

[{ "_id" : { "$oid" : "58b454f20960a1788ef48ebb" }, ... }]
Run Code Online (Sandbox Code Playgroud)

这个

await resources = _database.GetCollection<BsonDocument>("resources")
    .Find(Builders<BsonDocument>.Filter.Empty)
    .ToListAsync();

return Ok(Newtonsoft.Json.JsonConvert.SerializeObject(resources));
Run Code Online (Sandbox Code Playgroud)

产量

"Newtonsoft.Json.JsonSerializationException:在'MongoDB.Bson.BsonObjectId'上从'AsBoolean'获取值时出错.---> System.InvalidCastException:无法将类型为'MongoDB.Bson.BsonObjectId'的对象强制转换为'MongoDB.Bson .BsonBoolean"

BsonDocument改为dynamic产生相同的结果. …

c# dynamic mongodb .net-core

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

使用requirejs编译javascript程序以删除require依赖项

我使用requirejs编写了一个JavaScript应用程序来处理依赖注入.我已编译该文件,但在将其作为脚本包含时出现明显错误:

未捕获的ReferenceError:未定义define

如果开发人员决定不使用它,我希望我的JavaScript应用程序不依赖于AMD加载程序.但是,由于应用程序的复杂性,我想用它来处理我的应用程序的依赖项.

是否有可用的编译器编译JavaScript以消除AMD依赖?我已经看到了Grunt的一些嗡嗡声,但是没有找到关于这是否是Grunt功能的直接答案.

javascript requirejs gruntjs

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

在 MongoDB 中对数据进行分区的最佳做法是什么?

我正在使用平均堆栈创建一个社交网站,我需要一些关于 mongoDB 和 mongoose 的建议。我是一家初创公司的一员,我们决定使用这些惊人的技术来完成我们的任务。

基本上,我需要一些建议。

目前,我已经完成了简单的 CRUD 的创建并实现了本地通行证 JS。目前,我的 mongoDB 中有一个名为 users 的集合。

我们的社交网站将有一个博客、市场和许多其他与单个用户相关的页面(功能)。

由于我以前从未使用过 mongoDB,我很好奇 mongoDB 是否应该为每个用户使用一个集合,或者为每个功能使用多个集合。

为了澄清它,假设我使用用户模型进行用户注册,使用博客模型进行博客等。

如果您能简短地向我解释如何构建我的猫鼬模型,如果所有数据都应该在一个集合中,或者一个用户是否应该为不同的功能创建单独的集合,那么这对我来说真的意义重大。如果您推荐多个集合,我如何将这些集合链接在一起并确保为一个用户保存所有数据等。

非常感谢!

mongoose mongodb node.js

6
推荐指数
2
解决办法
6051
查看次数

在Aurelia视图中使用文字JavaScript值

我正在尝试使用"if"模板控制器使我的组件可以隐藏.问题是,即使我在其中放入虚假,它也是可见的:

<template if.bind="${false}">
zzzzzzzz
</template>
Run Code Online (Sandbox Code Playgroud)

if.bind ="false",两个没有绑定的情况都会带来相同的结果.难道我做错了什么?如果没有,请你指点aurelia代码调试,这可能有助于我得到一个线索?

最好的问候,尤金.

aurelia

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

使用appsettings来驱动特定于环境的设置,例如UseUrls

当我使用VS Code在本地开发时,我将使用端口3000,因为我是一个时髦的人.非赶时髦的人希望它在服务器上的端口8080上.那很酷,我们得到了这个.Microsoft文档给出了以下示例:

public static void Main(string[] args)
{
    var config = new ConfigurationBuilder()
        .AddJsonFile("hosting.json", optional: true)
        .AddCommandLine(args)
        .Build();

    var host = new WebHostBuilder()
        .UseConfiguration(config)
        .UseKestrel()
        .Configure(app =>
        {
            app.Run(async (context) => await context.Response.WriteAsync("Hi!"));
        })
        .Build();

    host.Run();
}
Run Code Online (Sandbox Code Playgroud)

我不想用hosting.json.我为什么要这样?我有这个appsettings.{environment}.json文件正是这种情况.甜蜜,我只是把那个坏孩子粘在里面

public static void Main(string[] args)
{
    var config = new ConfigurationBuilder()
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
        .AddCommandLine(args)
        .Build();
Run Code Online (Sandbox Code Playgroud)

什么编译器错误?env在当前上下文中不存在.它只存在于Startup.cs文件中 - 在启动时不会调用,而是启动文件调用Program.cs,带有魔法.

那么,我该如何解决这个问题呢?我怎么能存储在我的我的环境特定的站点设置环境特有的appsettings.json,随后使用它,同时通过建立我的具体环境,虚拟主机WebHostBuilderProgram.cs

c# asp.net-core-mvc visual-studio-code asp.net-core asp.net-core-webapi

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

在HTML5/Chrome中获取AudioBuffer的onended事件

所以我在Chrome中播放音频文件,我想在播放结束时检测到,所以我可以删除对它的引用.这是我的代码

var source = context.createBufferSource();
source.buffer = sound.buffer;
source.loop = sound.loop;
source.onended = function() { 
    delete playingSounds[soundName];
}
source.connect(mainNode);
source.start(0, sound.start, sound.length);
Run Code Online (Sandbox Code Playgroud)

但是,事件处理程序不会触发.如W3规范所描述的那样,这还没有得到支持吗?或者我做错了什么?

html5 google-chrome web-audio-api

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

Aurelia中的ES6字符串插值

我试图按照aurelia.io上的"入门"部分,并在字符串中的字符串插值有一些问题.

在第一个示例的viewmodel中,'fullName'计算的getter返回一个字符串

return '${this.firstName} ${this.lastName}'
Run Code Online (Sandbox Code Playgroud)

此值在视图(html模板)中用作$ {fullName}.

问题是不显示计算的全名,而是显示实际的返回字符串.我曾尝试使用Chrome和Firefox,但两者都没有显示正确的值.

welcome()函数存在同样的问题,因为它也返回一个字符串值.

我注意到在Aurelia Visual Studio示例中,返回值已更改为实际计算的字符串.

return this.firstName + " " + this.lastName;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ecmascript-6 aurelia

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

在Aurelia中拖放不起作用

我正在尝试为Aurelia创建一个拖放控件.最初,它工作得很好.

<div class="card" draggable="true" repeat.for="card of player2.hand">
Run Code Online (Sandbox Code Playgroud)

但是,当我将侦听器委托给dragstart事件时,拖动不再起作用.

<div class="card" draggable="true" dragstart.delegate="$parent.dragstart()" repeat.for="card of player2.hand">
Run Code Online (Sandbox Code Playgroud)

我可以触发dragstart事件并且事件有defaultPrevented: true,这使得默认的拖动事件无法启动.如何禁用preventDefaultAurelia中的特定事件委托人?

drag-and-drop ecmascript-6 aurelia

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