2017-05-10 3 views
0

私はAngularJS + Htmlアプリケーションで作業しています。実行時に作成されたdivとしてイベントを自動的に呼び出すことができます。angularJsでイベントを発生させずにランタイムでメソッドを呼び出す

Divはng-repeat="obj in objList"で作成されます。最初のdivは{{obj.shortName}}で作成され、対応するdivはvm.relatedListsの値をロードします。

私が解雇されるには、noクリックイベントや他のイベントを持っていないように自動的にイベントを発生させる方法
function changeLoadLists(shortName){ 
    if (shortName!= undefined) { 
     var chapterId='I'; 
     if (item == 'one' || item == 'two') { 
      if (item == 'one'){ 
       id='I'; 
      }else{               
       id='II'; 
      } 
      vm.relatedLists = GetAllLists.query({ 
       id: id 
      }, onListsSuccess); 

     } 
    } 
} 

function onListsSuccess(result) { 
    vm.relatedLists = result; 
} 

vm.relatedListsobj.shortName

<div class="col-sm-8" ng-repeat="obj in objList"> 
    <div class="col-sm-2" ng-show="viewRule"><div class="col-sm-2" ng-if="obj.fullName !== '-'">{{obj.shortName}}</div><div class="col-sm-4" ng-if="obj !== '-'"></div></div> 
     <div class="col-sm-4" ng-if="obj.fullName !== null"><input placeholder="{{obj.fullName}}" class="form-control" id="field_obj{{obj.id}}" name="field_obj{{obj.id}}" type="text" ng-model="vm.details.obj" uib-typeahead="reg.fullName for reg in vm.relatedLists | filter:{fullName:$viewValue} | limitTo:25" typeahead-editable="false" class="form-control"></div> 
     <div class="col-sm-1" ng-if="obj.fullName !== null && obj.fullName !== undefined && obj.fullName !== ''"> <button class="btn btn-primary"><i class="fa fa-eye" style="font-size: 16px;" aria-hidden="true"></i></button></div> 
     <div class="col-sm-1" ng-if="obj.fullName !== null"><button class="btn btn-primary" ng-click="vm.refresh('mpr',1)" ><i class="fa fa-refresh" style="font-size: 16px;" aria-hidden="true"></i></button></div> 
     <div class="col-sm-12"><p></p></div> 
    </div> 
</div> 

のdivを作成し、実行時に呼び出すべきメソッドがあるに基づいてロードされますこれは、shortNameを渡すことによって、先行値をvm.relatedListsでロードする必要があります。

これを行うには?

答えて

0

私はあなたの必要性を本当に理解していませんでしたが、あなたのタグでnginit属性を使うことができるタイトルを尋ねるためには、documentationを見てください。

+0

私はNG-INITを試してみましたが、それは動作しません見てng-if with ng-show.を交換しようと、私はdiv要素を作成したとして、自動的にイベントを発生する必要があります。 –

+0

あなたはng-initを繰り返しdivまたは親に置いてみましたか?あなたはフィドルを書くことができますか?私はそれを変更することによってあなたを助けることができるように? – mautrok

+0

私はここに入れています:

{{obj.shortName}}

0

あなたはng-initすることによって、これを達成し、それだけでDOM要素を隠しng-showとは異なり、唯一の条件trueにDOM要素を作成すると、あなたがng-ifでそれを使用することを確認することができます。

このfiddle linkを参照してくださいとの違い

+0

あなたの例では、次のイベントを発生させるためにボタンを1回クリックしますが、私の場合、自動的にイベントが発生する必要があります。 –

+0

店舗イベントを自動的に発生させ、次のイベントがloading()を発動できるかどうかを考えてみましょう。 –

+0

はい私は意図的に 'ng-ifとshow'の違いを表示するためにそのボタンを置いています。あなたがそれらを取り除くとdivが読み込まれるとすぐに呼び出されます。 [フィドル参照](http://jsfiddle.net/tt48w46r/) – anoop

関連する問題