3

オブジェクトを ngRepeat からモーダル ウィンドウに渡そうとしています...次のように:

<div ng-repeat="slot in slots">
    {{ slot }}<br>
    <button ng-click="openModal()">Open</button>
</div>

<script type="text/ng-template" id="myModalContent.html">

    <div class="modal-dialog">

        <div class="modal-content">

            <div class="modal-header">
                <h4 class="modal-title">{{ slot.time }}</h4>
            </div>

            <div class="modal-body">
                <p>body</p>
            </div>

            <div class="modal-footer">
                footer
            </div>

        </div>

    </div>

</script>

コントローラーで:

$scope.openModal = function () {
    $modal.open({
        templateUrl: 'myModalContent.html'
    })
}

スコープを台無しにしてファンキーな動作を引き起こすことなく、スロットをモーダルに渡す正しい方法は何ですか? 私はスロットを通過しようとし<button ng-click="openModal(slot)">...ましたが、奇妙なことが起こり始めました。何かアドバイス?

4

1 に答える 1

0

オブジェクトの配列の識別子に付けた名前を渡すだけです。

たとえば、次のオブジェクトの配列の場合:

$scope.myArray = [
    {name:"Tyler", job:"Developer"},
    {name:"Tony", job:"Designer"},
    {name:"Tabby", job:"PM"},
    {name:"Todd", job:"Grunt"}
]

次のようにアクセスします。

<div ng-repeat="person in myArray">
    <div ng-click="openModal(person)">Push me</div>
</div>

次に、 myFunction 関数内にアクセスできます。

$scope.openModal = function(person) { console.log(person) };
于 2015-03-10T04:16:56.863 に答える