即时实现淘汰的小部件示例 http://knockoutjs.com/documentation/component-overview.html
从外部html加载模板,requirejs不适合我
ko.components.register('like-or-dislike', {
template: { require: 'text!files/component-like-widget.html' }
});
我把包含模板的html放在外部html中。 替换"文件/"与我的相对路径" / views / _leyout" 而且它不起作用 我需要一个加载html的text.js文件? 任何一个例子?
答案 0 :(得分:3)
user3144678 的答案是正确的。您应该在项目中包含text plugin。只是为了澄清如何使用它我做了一些简单的项目:
项目结构:
project
|-- index.html
|-- app.js
`-- content
`-- some-content.html
的index.html:
<html>
<head>
</head>
<body>
<script data-main="app.js"src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.22/require.js"></script>
</body>
</html>
app.js:
requirejs.config({
paths: {
"text": "http://cdnjs.cloudflare.com/ajax/libs/require-text/2.0.12/text"
}
});
requirejs(["text!content/some-text.html"], function (text) {
alert(text);
});
一些-content.html:
<div>just some text</div>
结果将提醒&#34;只是一些文字&#34;内部。
答案 1 :(得分:1)
“text.js”是一个可以从require-homepage下载的插件。对我来说,为knockout-components执行配置的最佳方法如下:
config.js
define(['ko'], function (ko) {
ko.components.register('component-name', { require: 'components/viewmodels/component-name' });
});
组件name.js
define(['ko', 'text!components/templates/component-name.html'],function (ko, template) {
var vm = function (params) {
};
return {
viewModel: vm,
template: template
};
});
希望有所帮助:)