问题标签 [knockout-components]

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 投票
1 回答
144 浏览

javascript - 如何将 HTML 添加到此 Knockout.js Viewmodel 变量?

我在页面上显示了一个步骤列表。一些步骤(但不是全部)将有 1-3 个子步骤。我在想最简单的方法是在视图模型的每个步骤声明中手动编写 HTML。

如果您查看下面的代码,我想做的是:

问题是,在那里编写的 HTML 被解释为 astring而不是HTML. 我怎样才能使它将 HTML 解释为实际的 HTML?

小提琴:https ://jsfiddle.net/8o31m6rq/2/

HTML:

JavaScript/淘汰赛:

0 投票
0 回答
180 浏览

javascript - 在 Asp MVC 下找不到 Knockout 组件和 RequireJs 内容

我正在尝试将组件绑定方式与 KnockoutJs 和 RequireJs 一起使用,但是我遇到了无法解决的简单问题。

我在我的 Asp MVC 4 解决方案下创建了一个文件夹,/SomeName/SomeSubName并在此文件夹下创建了 2 个文件:mycmt.jsmycmt.html

在我的 cshtml 中,我添加了以下 html:

JS代码部分

mycmt.js 内部

我在控制台中看不到任何错误,但在绑定逻辑上,我尝试显示此组件并看到错误:

未找到内容

如何解决?为什么 required 无法加载或查找文件。

0 投票
1 回答
320 浏览

javascript - KnockoutJS custom component loader not executing `loadViewModel`

Context

I have been fiddling around and trying to create my own (just another) SPA framework. In this framework I've been trying to create a custom component loader to be able to do some dependency injection 'n stuff on the viewModels I'm loading.

Used KnockoutJS version: 3.3.0

Problem

The loadViewModel function on the custom component loader isn't executing when a component is loaded.

Code for reference (see file):

Please not that the injector function is just some custom dependency resolver I wrote. (Almost like a define or require call on AMD components.)

The getConfig function gets executed properly whatsoever.

For a complete overview of my doodling, see this git repo

0 投票
1 回答
594 浏览

knockout.js - Knockout 如何订阅另一个视图模型的属性?

我正在使用淘汰组件来构建具有不同部分视图的搜索视图,这些部分视图具有自己的视图模型:

  • 搜索字段
  • 筛选

因此,搜索字段视图模型看起来像这样:

过滤器视图模型看起来像:

然后我有一个搜索虚拟机:

好的,事情就是这样。每当更改 SearchFieldVM 中的可观察查询时,我希望更改 SearchVM 中可观察的 currentQuery。

currentCategory 也是如此。

假设我的搜索视图如下所示:

然后,我如何监听搜索字段组件的查询可观察对象并过滤组件的 currentCategory 可观察对象,以便 SearchVM 注意到这些更改?

0 投票
1 回答
145 浏览

javascript - 从自定义组件加载器中的“createViewModel”函数更改模板

在 knockoutjs 中,我有一个自定义组件加载器,我在其中执行一些逻辑。基本上我想从 createViewModel 函数中更改模板。我知道有,componentInfo.templateNodes但我不知道如何处理它。

我想在 createViewModel 函数中更改它的原因是因为每次显示组件时都会调用 createViewModel 函数。

啊,代码比文字更能说明问题,所以请自己在这里查看。

0 投票
1 回答
260 浏览

asp.net-mvc - 通过 Razor 向 Knockout 组件注入依赖项

使用 Knockout 组件 + Asp.Net MVC 时,以下代码段是一个好习惯吗?我可能缺少的任何缺点?

基本上是通过使用 Razor 服务器端渲染注入部分 ko 组件依赖项(主要是初始数据)...

代码片段:

编辑:

为了避免@Quango 指出的字符串转义问题,我实现了这个助手:

用法:

0 投票
1 回答
530 浏览

javascript - 如何使我的 Knockout.js 组件附加到页面而不擦除/覆盖任何旧绑定?

小提琴:http: //jsfiddle.net/mpqtsjhL/27/

基本上我有一个使用模板的 Knockout.js 组件:

JavaScript:

HTML

我有多个 ViewModel,用户可以通过单击某些按钮将其加载到该模板中。正如我现在所拥有的,当用户加载一个新的 ViewModel 时,它会覆盖旧的。

所需功能:当用户单击按钮加载新的 Viewmodel 时,这些新的列表元素<li>会被附加而不是替换现有的元素。如何??在Fiddle中,一个列表中应该总共有 6 个列表元素。

编辑:也许我必须沿着这个新小提琴的路线去某个地方?也许这样的事情可以让我在<ul>. http://jsfiddle.net/mpqtsjhL/32/

0 投票
1 回答
4494 浏览

javascript - Knockoutjs:从子组件调用父组件的功能

问题: 我正在尝试构建一个小部件仪表板。每个小部件的标题上都有一个删除按钮。单击此按钮时,相应的小部件必须消失。

我是如何设计的: 我有两个淘汰赛组件。

  1. my-widget-list:VO 将有一个 observableArray 的小部件对象。
  2. my-widget:VO 将在小部件中显示详细信息。

注意:为简单起见,我将小部件对象替换为仅数字。

现在,我想在单击按钮时调用my-widget-list's函数。deleteWidget

我想过

  • 将父视图模型引用传递给子视图
  • 将子组件的 params 属性中的父函数作为回调传递

但我想从专家那里知道实现这一目标的最佳方法是什么。

JsFiddle 链接

提前致谢

0 投票
1 回答
52 浏览

javascript - 为什么在 params 中配置的组件会发生变化?

根据ko关于组件生命周期的组件文档:

如果组件绑定的名称值发生明显变化,或者如果封闭的控制流绑定导致容器元素被移除,则视图模型上的任何 dispose 函数都会在容器元素从 DOM 中移除之前被调用

我不确定为什么我的组件被放置在这个小提琴上。

我在我的小提琴上出现的文档中看不到上述任何一点。如果注入的变化,我当然不希望出现componentdisposedre-instantiatedparams

任何想法为什么会发生这种情况?

0 投票
1 回答
970 浏览

knockout.js - 淘汰赛组件参数未定义

我正在创建一个 Knockout js 组件以在我的通知系统中使用。当我将组件添加到页面时,我收到 params is undefined 消息,看起来我的 params 对象没有发送到 viewmodel 的构造函数。

起初我认为我的组件加载器是问题,所以我手动注册了组件,如下所示:

该组件由一个名为 info.js 的 js 文件组成

和一个名为 info.tmpl.html 的 html 模板

我使用组件绑定将组件添加到我的页面:

稍后这将填充通过 websockets 发送的数据,因此 params 将成为可观察的。

有人可以告诉我我在这里做错了什么,我认为这与我注册组件的方式有关。