Показать список без использования кнопки, с нокаутом

0

У меня есть этот код, чтобы показывать список при нажатии кнопки. Как я могу сделать показ списка без нажатия кнопки?

<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
    };
});
Теги:
knockout.js

2 ответа

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"}] <- это выводит [object Object]

["sometext", "sometext", "sometext"] <- выводит "sometext"

Таким образом, его звук, как вам нужно сказать $ data.myDesiredValue или просто myDesiredValue в вашей разметке, а не $ data

  • 0
    вместо моего списка появилось следующее: [объект объекта], я думаю, что следует поставить активировать
  • 0
    Только сейчас я получаю.
0

быстрое решение, если у вас есть jQuery, но не так красиво:

$(function(){
    $('button.btn').click();

});

  • 0
    не понимаю :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню