我正在开发AngularJS + Html应用程序。我想在运行时创建div时自动调用事件。
Div使用ng-repeat="obj in objList"
创建。作为使用{{obj.shortName}}
创建的第一个div,其对应的div加载vm.relatedLists
的值。
vm.relatedLists
将根据obj.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时调用的方法是:
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;
}
如果我没有点击事件或其他要触发的事件,如何自动触发事件,它应该通过传递shortName来加载带vm.relatedLists
的预先键入值。
如何实现这一目标?
答案 0 :(得分:0)
我并不是真的了解你的需要,但为了达到你在标题中提出的要求,你可以在你的标签上使用nginit属性,看看这个documentation。
答案 1 :(得分:0)
您可以通过 ng-init
来实现此目的,并确保将其与 ng-if
一起使用,因为它仅在条件{{1}上创建dom元素与隐藏dom元素的true
不同。
请参阅此fiddle link并尝试替换ng-show
以查看差异