2015-08-28 72 views
0

我的tagname組件如下所示,雖然組件註冊爲單個AMD模塊,但我想要獲取所有參數。在淘汰組件中傳遞參數作爲AMD模塊

ko.components.register('tagname', { 
    synchronous: true, 
    require: params.url 
}); 
<tagname params="url: 'some/relative/url'"></tagname> 

我怎麼能這樣做?

+1

你是什麼意思「想要得到的所有PARAMS」? – Jeroen

回答

0

您爲視圖模型(或作爲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

這裏有一個例子:http://jsfiddle.net/rniemeyer/g7zhjfz1/

+0

是這就是我在做什麼..但我希望別人提供flexibity這個viewModel文件的URL作爲參數傳遞給組件。 –

+0

使用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)。 –