问题标签 [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 投票
5 回答
22460 浏览

knockout.js - afterRender 是否适用于 Knockout 组件?

afterRender与模板绑定一起工作,但是在将我的模板转换为组件后,似乎没有任何方法可以使用afterRender. 我曾尝试寻找使用 的组件的示例afterRender,但找不到任何东西。

0 投票
1 回答
3136 浏览

knockout.js - 淘汰组件通信

我有一个要转换为的 Web 应用程序和使用 ko 组件的 SPA。我想知道如何进行一种组件间的通信。

例如,我想要一个“通知”组件,其中每个组件都可以发送通知。

我设法通过在主视图模型中共享一个可观察数组来找到解决方案:

见这里:http: //jsfiddle.net/nveron/j4829y7p/

我对这个解决方案并不完全满意,我宁愿将通知数据保留在通知组件中。

你有什么想法来解决这个问题吗?

0 投票
1 回答
648 浏览

knockout.js - 与模板相比,组件真的更快吗?

我决定通过在以下 jsperf 中添加组件测试来比较 ko 3.2 与其他模板引擎的组件速度:

http://jsperf.com/knockout-template-engines/19

结果真的让我感到困惑,因为我看到组件比常规模板快 98%。我觉得我做错了什么,但无法弄清楚。

有专家能解释一下吗?这种性能是真实的还是我看到的基准测试结果不正确?

0 投票
2 回答
814 浏览

knockout.js - 获取 knockout.js 自定义组件内容

我正在尝试在 knockout.js 中创建一个自定义组件。

HTML

Javascript

组件加载正常,一切正常,但我现在想要做的是能够获取原始自定义组件标签内的任何内容(例如“TEXT NEEDED”文本)。

知道我该怎么做吗?希望我解释得足够清楚。

这是一个小提琴:http: //jsfiddle.net/WhesleyBarnard/f7bmynp5/5/

0 投票
0 回答
42 浏览

knockout.js - 淘汰组件不更新 DOM

我正在研究一个带有引导选项卡的简单示例,其中第一个选项卡将包含所有站的摘要,单击站将打开一个新选项卡并显示淘汰赛组件。它正在渲染模板并渲染初始数据(Hello World),但不是在 .getJSON 之后,我可以通过 console.log 看到服务器响应,由于某种原因,淘汰赛没有更新 DOM。

0 投票
1 回答
1090 浏览

twitter-bootstrap - 淘汰赛组件未绑定在动态选项卡上

我正在研究一个带有引导选项卡的简单示例,其中第一个选项卡将包含所有站的摘要,单击站将打开一个新选项卡并显示淘汰赛组件。当我使用静态选项卡而不是动态选项卡时,它可以很好地呈现模板。

它可以很好地生成选项卡,但由于某种原因,Knockout 什么也没做,除了将组件注入 DOM 之外,我是否必须做一些事情来触发淘汰?

0 投票
2 回答
381 浏览

knockout.js - 预编译 Web 组件

我在我的一个项目中使用了knockout.js中的 Web 组件实现,以便抽象出我在整个应用程序中重用的 UI 组件。其中一个组件是关于弹出窗口,其中包含有关我的应用程序的大量信息。

抽象这个 About 组件非常适合开发,因为我可以在不同的页面之间重用它,并依靠前端而不是后端的方法来包含它。然而,缺点是搜索引擎优化。我希望所有大型搜索引擎都能看到我的应用程序描述,因此我需要在我的 HTML 中预编译某些 Web 组件以确保所有机器人都能看到它。我认为理想的情况是在我的构建步骤中执行此操作(目前使用 Grunt 构建 btw) - 即。<about-app>将我的组件的内容内联到我的index.html.

有没有人写过一个工具来完成这个?或者我应该对这些 Web 组件包含大量(关键)内容的场景使用不同的方法?

0 投票
0 回答
38 浏览

knockout.js - 何时绑定淘汰组件 dom 脚本

当我加载会影响 GUI 的淘汰组件时,我试图让其他脚本执行,但是当组件执行时,它们只是不附加到 DOM 上的元素,但是也不会引发错误。下面我使用了一个外部电话插件,我想在模块加载时绑定到一个名为 input 的文本框,但是没有任何反应。

如果我在模板出现后打开控制台并执行:

它正确绑定到控件。我如何在模块内控制何时运行我想要执行的脚本。

谢谢

0 投票
1 回答
1987 浏览

asp.net-mvc - 如何使用带有父布局的淘汰组件视图?

我正在用 Knockout 替换 ASP.NET MVC+Knockout,我想删除 ASP.NET 并获得静态 js + html。

我的 ASP.NET 视图由 Partial 视图组成(我在我的项目中称它们为小部件),这个 Partial 视图很容易被 Knockout 组件替换。但我有一个问题:ASP.NET Partial 视图有一个布局(每个小部件都有一些 html 装饰),我怎样才能实现类似的淘汰赛组件视图?

简化示例。旧的 asp.net 方案:

查看.cshtml:

SomeWidget.cshtml:

_WidgetLayout.cshtml:


新的仅淘汰赛计划:

查看.html:


视图.js:

SomeWidget.html:


SomeWidget.js:


如何在 Knockout 中替换 _WidgetLayout.cshtml?

0 投票
0 回答
2508 浏览

javascript - 来自父级的淘汰组件单击事件

让我们假设我有一个模态,其中在由 jquery-file-upload 制成的模态体中有一个 FileUpload 组件。

该组件在视图模型中有一个名为“Upload”的方法,该方法会遍历选定的文件并上传它们。

现在,当我按下模式上的“上传”按钮时,我想上传文件。实现这一目标的最佳和最干净的方法是什么?

我现在的代码是这样的(请注意,这只是一些快速原型代码):

以及组件本身: