我的tagname
組件如下所示,雖然組件註冊爲單個AMD模塊,但我想要獲取所有參數。在淘汰組件中傳遞參數作爲AMD模塊
ko.components.register('tagname', {
synchronous: true,
require: params.url
});
<tagname params="url: 'some/relative/url'"></tagname>
我怎麼能這樣做?
我的tagname
組件如下所示,雖然組件註冊爲單個AMD模塊,但我想要獲取所有參數。在淘汰組件中傳遞參數作爲AMD模塊
ko.components.register('tagname', {
synchronous: true,
require: params.url
});
<tagname params="url: 'some/relative/url'"></tagname>
我怎麼能這樣做?
您爲視圖模型(或作爲createViewModel
工廠)提供的功能將接收所有參數。例如:
define(['knockout', 'text!./my-tagname.html'], function(ko, templateString) {
function MyTagNameComponent(params) {
// do something with params here
}
return { viewModel: MyTagNameComponent, template: templateString };
});
所以,您的組件將接收其PARAMS在這種情況下,第一個參數MyTagNameComponent
。
是這就是我在做什麼..但我希望別人提供flexibity這個viewModel文件的URL作爲參數傳遞給組件。 –
使用require.js,你可以做類似的事情,但是你必須已經需要各種視圖模型選擇,比如:http://jsfiddle.net/rniemeyer/x8809Lhp/。否則,你會有更好的運行實現一個自定義加載程序。看看這個[post]結尾(http://www.knockmeout.net/2014/06/knockout-3-2-preview-components.html)或者加載器文檔[here](http:// knockoutjs。 COM /文檔/組件loaders.html)。 –
你是什麼意思「想要得到的所有PARAMS」? – Jeroen