Angular.js:如何在其范围之外使用ng-model

时间:2016-06-13 09:30:27

标签: angularjs

我为此搜索了很多,但无法得到合适的答案。如果我再次提出这个问题,我很抱歉。我是Angular.js的新手

我的代码:

<table>
        <tr>
            <th ng-repeat="x in setno" ng-init="parentset=$index">SET {{ x.alpha }}</th>


        </tr>

        <tr ng-repeat="(parentset,ques) in selected">

               <td ng-repeat="x in setno">
                <select ng-model="ques" ng-options="y.name for y in topics"></select>{{ques.qid}}


            </td>
            <td>{{$parent.ques.qid}}hi</td>
        </tr>
        <tr>
            <td ng-repeat="x in setno">

                <button ng-click="addques($index,ques.qid)" ng-model="ques.quid">add{{$parent.ques.qid}}</button>

            </td>
        </tr>
    </table>

问题 ng-model在选择标记之后正常工作,但只在 td 标记内。我如何在特定标签之外使用它。 即,在这里: <td>{{$parent.ques.qid}}hi</td> 和这里: <button ng-click="addques($index,ques.qid)" ng-model="ques.quid">add{{$parent.ques.qid}}</button>

我已经尝试过 $ parent 而没有它,但它无效。 我哪里错了?

1 个答案:

答案 0 :(得分:0)

select 标记具有自己的作用域,因此如果要使用选择标记中的“ques”,则必须扩展父作用域中的对象。 / p>

为此,请在父级中创建一个对象($ scope变量):

$scope.test;

并在select(子范围)中扩展它:

ng.model = "test.ques";

然后您可以从select标签中访问“ques”。