1

これは、.net mvc を使用して knockout.js をテストする最初のプロジェクトです。これまでのところ、クールに見えます。

私はこのビューを持っています:

<div class="container">
<div data-bind="foreach: viewModel.items">
    <div class="well well-small">
        <div class="row">
            <div class="span9">
                <h3><span data-bind="text: Name"></span><small>&nbsp;Registered by <span data-bind="text: RegisteredBy"></span>at <span data-bind="text: Registered"></span></small></h3>
                <p><span data-bind="text: Description"></span></p>
            </div>
        </div>
        <div class="row">
            <div class="span6">
                <div class="progress">
                    <div class="bar" data-bind="style: {width: progress }"></div>
                </div>
            </div>
            <div class="span3">
                <span data-bind="text: progress"></span>% done <a class="btn btn-mini" href="#"><i class="icon-plus"></i>add 10%</a>
            </div>
        </div>
    </div>
</div>

次に、これを行います:

<script>
$(document).ready(function () {
    var initialData = @(Html.Raw(Json.Encode(Model)))
    viewModel = { items: ko.observable(initialData) };

    ko.applyBindings(viewModel);

});

この data-bind="style: {width: progress }" のようにバインドしようとする場合を除いて、これはすべて機能します

下のスパンで値を取得しているので、進行状況フィールドが機能していることは確かです。

何か案が?

4

1 に答える 1

2

単位を指定する必要があります。{width: progress() + 'px'}ユニットでそれを返す計算されたオブザーバブルのようなものまたは作成します。

于 2013-02-03T18:10:45.407 に答える