- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我像这样“动态地”填充我的页面:
<script type="text/html" id="ContainerTemplate">
<span data-bind="template: {
name: contentTemplate,
data: contentData }"></span>
</script>
<script type="text/html" id="fooTemplate">
<span data-bind="text: barAttribute"></span>
</script>
<button data-bind="click: complete">complete</button>
Hello
<span data-bind="template: { name: 'ContainerTemplate', foreach: myContents }"></span>
!
View 模型:
var viewModel = {
myContents: ko.observableArray([]),
complete: function() {
viewModel.myContents.push({
contentTemplate:'fooTemplate',
contentData:{barAttribute:'world'}});
}
};
ko.applyBindings(viewModel);
一个特点是模板名称是动态的。它似乎是这样工作的(你可以在 http://jsfiddle.net/hPQNx/ 上尝试),但我想知道我是否做对了。某些模板功能(如 root 或 parent)似乎不起作用。
我应该在某个时候手动重新调用 applyBindings 吗?我已经看到这必须在相关的 DOM 节点上完成,但我如何才能在我的设置中访问这些节点?
最佳答案
我向您的 View 模型添加了一个属性,并展示了如何添加一个根属性并使用 $root
引用它,并且 $parent
可以在这个 fiddle 中工作。
var viewModel = {
a: ko.observable('foo'),
myContents: ko.observableArray([]),
complete: function() {
viewModel.myContents.push({
contentTemplate: 'fooTemplate',
b: 'goo',
contentData: {
barAttribute: 'world'
}
});
}
};
ko.applyBindings(viewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/2.0.0/knockout-min.js"></script>
<script type="text/html" id="ContainerTemplate">
<span data-bind="template: {
name: contentTemplate,
data: contentData }"></span>
</script>
<script type="text/html" id="fooTemplate">
<span data-bind="text: barAttribute"></span>
<div data-bind="text: $root.a"></div>
<div data-bind="text: $parent.b"></div>
</script>
<button data-bind="click: complete">complete</button>
Hello
<span data-bind="template: { name: 'ContainerTemplate', foreach: myContents }"></span>
!
关于javascript - knockout : dynamic content and applyBindings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8688395/
我有几个 knockoutjs foreach 模板绑定(bind),它们创建了大约 100 在我的页面上的不同位置 - 除了我后续的 jQuery 调用不起作用,除非我在调试器中停止并在应用 jqu
有没有办法在ko中监听applyBindings事件? 我搜索过谷歌和SO,但找不到方法。答案需要得到支持,即不调用 KO 开发人员将来可能更改的内部函数。 以下question 不相似,因为它询问如
我一直在寻找但找不到 applyBindings() 的文档.第二个参数可以合法包含什么?它可以是一个元素数组吗?它必须是单个元素吗?是否可以通过两次调用 applyBindings 将绑定(bind
HTML Product Name JavaScript 代码 var ProductLine = function(data) {
我知道没有我可以 Hook 的回调机制...但是我可以取消或中止 applyBindings 调用吗? 这很重要,例如,如果我发生异步调用以收集组件模板等。 最佳答案 没有。 KO 中没有中止或取消正
我有一个简单的 html 页面,它是我在客户端使用 jquery、jqueryui 和 knockout 以及来自 Web 服务的一些数据动态创建的。 我用这样的代码动态创建了一些标签: docume
我们正在尝试从 https://codepen.io/ImBobby/pen/keaHp?page=1& 我们有一个非常大的数据集。我们正在尝试实现滚动条,以便客户知道页面没有损坏,只是加载时间比预期
使用 knockout.js在我们当前的项目中,我们已经多次达到这一点。 我如何确保只有在页面上的所有绑定(bind)都被 Knockout 应用后才执行某些 Javascript 代码? 在我的特定
调用 ko.applyBindings() 后生成的 View 是否存在?还是脚手架是异步发生的? 谢谢! 最佳答案 ko.applyBindings是同步调用。 在某些情况下,绑定(bind)有特殊
是否可以在viewModel的dataModel未知的情况下applyBindings?我的问题是 dataModel 结构是在页面上调用 ajax 之后首先知道的,而我对 knockout.js 的
我有几个以下形式的输入: 我想在数据绑定(bind)事件之后使用 Jquery 选择器访问这些。我有以下代码: $(document).ready(function () { ko.appl
您好,我只是想创建输入和 iframe,当我粘贴 YouTube 链接时,iframe 应该随着新的 src 而改变。到目前为止我已经这样做了 id 在脚本中: function MyViewMo
当我们将 Knockout 与 UniformJS 一起使用并在 ko.applyBindings 之前调用 .uniform() 时,下面的代码不起作用? HTML代码:
我有一个聊天室风格的应用程序,每个条目在收到后都会在客户端上进行处理,然后生成一些 html 来显示它。因为某些消息将嵌入工具提示和其他数据位,这些数据使用 knockout 绑定(bind)来显示。
我像这样“动态地”填充我的页面: complete Hello ! View 模型: var viewModel = { myContents: ko.observabl
我将 Knockout 与 html 选择/选项结合使用(请参阅 Fiddle): 10 100 调用 applyBindings 时,此选项被视为字符串。这会导致不良影响。考虑以
最近我将 ViewModel 分离到一个单独的 JavaScript 文件中。 var Report = (function($) { var initialData = []; va
在 KnockoutJS 中,有没有办法在调用 ko.applyBindings 后添加绑定(bind)? ? 最佳答案 原来我的问题的答案和这个一样:Can you call ko.applyBin
请考虑以下 ViewModel 片段: var id, given1, given2; $.get("testSynUfGet.aspx", null, function (data) { i
我正在KnockoutJS中创建简单的应用程序,在这里我需要更多的输入元素来通过单击按钮进行更新。我使用了 ko.applyBindings(viewModel),但它抛出以下错误。 Uncaught
我是一名优秀的程序员,十分优秀!