对可观察的子属性进行淘汰赛

时间:2014-01-25 13:49:44

标签: javascript knockout.js

这是我的div。

<div id="storyBody" data-bind="foreach: CurrentStory.Paragraphs">
    <p data-bind="text: $data">

    </p>
</div>

这是我的模特:

$(function ()
{
    var currentUser = "";

    nm.Story = function()
    {

        this.Paragraphs = ko.observableArray([]);
        this.CurrentEditorId = ko.observable();
        this.LastEditorId = ko.observable();


    };

    nm.StoryPreview = function()
    {

        this.Preview = "";
        this.documentId = 0;


    };

    nm.vm = function ()
    {

        var UserStoryList = ko.observableArray([]),
            CurrentStory = ko.observable(),
            GetCurrentStory = function (data) {
                nm.getStory(data.documentId, GetCurrentStoryCallback, GetCurrentStoryErrorCallback)
            },
            GetCurrentStoryCallback = function (data) {
                var story = new nm.Story().CurrentEditorId(data.CurrentEditorId)
                     .LastEditorId(data.LastEditorId);
                     story.Paragraphs(data.Paragraphs);

                CurrentStory(story);
            },
            GetCurrentStoryErrorCallback = function (data) {

            },
            LoadUserStoriesList = function() {

                nm.getStories(LoadUserStoriesListCallback, LoadUserStoriesListErrorCallback);

            },
            LoadUserStoriesListCallback = function(data)
            {

                $.each(data, function (index, value) {
                    var storyPreview = new nm.StoryPreview();
                    storyPreview.Preview = value.Preview;
                    storyPreview.documentId = value.DocumentId;
                    UserStoryList.push(storyPreview);
                });


            },
            LoadUserStoriesListErrorCallback = function (data)
            {



            };

        return {

            UserStoryList: UserStoryList,
            CurrentStory: CurrentStory,
            LoadUserStoriesList : LoadUserStoriesList,
            LoadUserStoriesListCallback: LoadUserStoriesListCallback,
            GetCurrentStory: GetCurrentStory

        }

    }();


    nm.vm.LoadUserStoriesList();
    ko.applyBindings(nm.vm);

});

似乎这应该有效,但事实并非如此。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您缺少一些括号。

你可以尝试:

<div id="storyBody" data-bind="foreach: CurrentStory().Paragraphs">
    <p data-bind="text: $data">
    </p>
</div>