0

ASP.NET MVC で Knockoutjs に取り組んでいました。「Uncaught Error: NOT_FOUND_ERR: DOM Exception 8」というエラーが表示されます...何か考えはありますか?? thnx。

私の_Layout.cshtmlファイルでは、これらは私のスクリプトです..

    <script src="../../Scripts/modernizr-2.5.3.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
    <script src="../../Scripts/knockout-2.1.0.debug.js" type="text/javascript"></script>
    <script src="../../Scripts/ajax-util.js" type="text/javascript"></script>
    <script src="../../Scripts/bp-index.js" type="text/javascript"></script>
    <script src="../../Scripts/ko-execute-on-enter.js" type="text/javascript"></script>
    <script src="../../Scripts/ko-protected-observable.js" type="text/javascript"></script>

<script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

これは私のテンプレートです....

<ul data-bind="foreach: tags">
    <li class="tagItem" data-bind="click: $parent.selectTag">
       <div>
           <span data-bind="text: Name"></span>
           <a href="#" class="tag-edit">Edit</a>
           <a href="#" class="tag-delete">Delete</a>
        </div>
     </li>
</ul>

これは私のjsファイルです(ノックアウト付き)

$(function () {
    var data = [
   // data
    ];

    var viewModel = {
        tags: ko.observableArray(data),
        tagToAdd: ko.observable(""),
        selectedTag: ko.observable(null),

        addTag: function () {
            this.tags.push({ Name: this.tagToAdd() });
            //var newTag = { Name: viewModel.tagToAdd() };
            this.tagToAdd("");
        },
        selectTag: function () {
            console.log("inside selectTag");
            viewModel.selectedTag
        }
    };
    $(document).on("click", ".tag-delete", function () {
        var itemToRemove = ko.dataFor(this);
        viewModel.tags.remove(itemToRemove);
    });
    ko.applyBindings(viewModel);
});
4

1 に答える 1

0

コードのこのビットがエラーの原因である可能性があります。

   selectTag: function () {             
        console.log("inside selectTag");             
        viewModel.selectedTag         
   } 

次の行に沿って、さらに何かが必要だと思います。

   selectTag: function (tag) {             
        console.log("inside selectTag");             
        viewModel.selectedTag(tag);       
   } 

そうでない場合、基本的にエラーは、JS または HTML の一部が無効であるためです。エラーの原因が見つかるまで、行ごとにコメントアウトしてみます。

于 2012-09-13T09:14:33.710 に答える