我有这个代码来显示单击按钮时的列表。如何在不单击按钮的情况下显示列表?
<button class="btn" type="submit" data-bind="click: getList">Get List</button>
<ul data-bind="foreach: pList">
<li>
<b data-bind="text: $data"></b>
</li>
</ul>
define(['sublime/aadConfig','knockout'], function (aconfig,ko) {
var plugins = ko.observableArray([]);
var getPlugins = function () {
plugins(aconfig.getPluginList());
};
return {
pList: plugins,
getList: getPlugins
};
});
答案 0 :(得分:2)
如果您希望加载列表而无需单击按钮,则只需调用getPlugins;
define(['sublime/aadConfig','knockout'], function (aconfig,ko) {
var plugins = ko.observableArray([]);
var getPlugins = function () {
plugins(aconfig.getPluginList());
};
getPlugins(); //<-- This will go populate your plugins observable, which should auto populate your list.
return {
pList: plugins,
getList: getPlugins
};
});
编辑
如果您的数组中有对象,那么当您指定在标记中显示$ data时,就会发生这种情况。
[{text:“someText”},{text:“someText”},{text:“someText”}]&lt; - 这将输出[object Object]
[“sometext”,“sometext”,“sometext”]&lt; - 将输出“sometext”
所以它的声音就像你需要在你的标记中说$ data.myDesiredValue或myDesiredValue而不是$ data
答案 1 :(得分:0)
快速解决方案,如果你有jQuery但不是那么漂亮:
$(function(){
$('button.btn').click();
});