1

私は基本的な剣道ビューを持っていますが、data-showまたはdata-initを使用せずにview.paramsにアクセスしてjsを実行する方法があるかどうか、またはdata-showで現在のfuncton呼び出しを使用する場合はどうすればよいですか?編集ボタンのデータ要素を動的に入力しますか?

<!-- eventDetail view -------------------------------------------------------------------------------------------------->
<div data-role="view" id="view-eventDetail" data-show="getEventDetailData" data-title="eventDetail">
    <header data-role="header">
        <div data-role="navbar">
            <span data-role="view-title"></span>
            <a data-align="left" data-role="button" class="nav-button" href="#view-myEvents">Back</a>
            <a data-align="right" data-role="button" class="nav-button" data-click="showEventUpdate" data-event_id="view.params.event_id" data-user_id="view.params.user_id">Edit</a>
        </div>
    </header>

    <div id="eventDetail"></div>
</div>
4

1 に答える 1

10

これまでに見つけた最良の方法 (ビュー内のビュー パラメーターにアクセスする) は、Kendo ViewModel メソッド - MVVM - とテンプレート - クエリ文字列クリックから view.params をプルすることです。

 <a data-role="button" href="#view-Home?userID=2&userType=1&trainerID=2"> 

次に、ビューの data-show または data-init メソッドを介してスクリプトを呼び出し、viewModel をバインドします。

<!-- =========================================================================================== Home page -->
    <div data-role="view" id="view-Home" data-title="Home" data-show="checkAuth" data-model="home_viewModel" >

        <div id="homeWrapper">

            <div id="myTrainerInfo" data-template="myTrainerIcon-template" data-bind="source: user_info" ></div>

    </div>


    <!-- ========================================================================================= Home script -->
    <script>

            //init the viewmodel            
            var home_viewModel = kendo.observable({
                user_info: []

            });


        function checkAuth(e) {
            var userID = e.view.params.userID;
            var userType = e.view.params.userType;
            var trainerID = e.view.params.trainerID;

            var userData = {userID:userID,userType:userType,trainerID:trainerID};


            //set the viewmodel data
            home_viewModel.set("user_info", userData);


        }           

    </script>

その後、変数は ${var_name} または HTML data-bind="value: var_name" を介してアクセスできます。

        <!-- ============================================================================== myTrainerIcon template -->
    <script id="myTrainerIcon-template" type="text/x-kendo-template">

        <div id="myTrainerIcon" class="homePageIcons">
            <a data-role="button" href="\\#view-trainerDetail?user_id=${userID}&amp;trainer_id=${trainerID}">
                <img src = "styles/icons/myTrainerICON.png" alt="myTrainer" />
            </a>
            <div class = "icon-text" >myTrainer</div>
        </div>
<div>TrainerID: <input name="edit_id" id="edit_id" data-min="true" class="k-input" data-bind="value:     trainerID" type="text" /></div>
    </script>

これを行うには別の方法があると確信していますが、これまでのところ、自分で発見したものは何もありません..

于 2013-02-16T18:06:55.233 に答える