嘿大家我有问题处理ng-init或者ng-init不是解决方案,我可以使用ng-init来初始化我的动态组合框中的数据,如下所示:
<li class="list-group-item" ng-repeat="l in list |orderBy: 'idfonction' as filtered_result track by l.idfonction " >
<div class="row">
<div class="col-md-8">
<h5>{{l.nomfonction}} : </h5>
</div>
<div class="col-md-4" >
<div class="input-group">
<select ng-init="newObject[l.idfonction] = inifonction[0]" ng-model="newObject[l.idfonction]" ng-options=" fct for fct in inifonction " class="form-control">
</select>
<span class="input-group-btn" >
<button type="submit" class="btn btn-primary form-control" ng-disabled="newObject[l.idfonction] != 'KO' " data-toggle="collapse" data-target="#mycollapse_{{l.idfonction}}">
<i class="glyphicon glyphicon-chevron-down"></i>
</button>
</span>
</div>
</div>
我的范围数据:
$scope.inifonction = ["N/P","N/A","OK","KO"];
我的ng-model="newObject[l.idfonction]"
输出如下:
Object {1: "N/A", 2: "OK", 3: "N/A", 4: "N/P", tab: "N/P"}
我得到了这个结果: http://i.stack.imgur.com/bMy7m.png
现在一切都很棒ng-init工作得很好并且它正在初始化数据 但是图片中的结果是在一个模态内,每当我点击该链接时,模态就会出现在这个表格中我得到一个模态:
然后我打开另一个链接(例如:表格中PDCR3下面的那个),模态显示我刚刚做出的选择,我的意思是为什么它每次点击时都没有执行ng-init在链接上为什么它保留我刚刚编辑的内容。
感谢任何支持。
答案 0 :(得分:1)
ng-init
只会在Angular处理HTML时运行,这将在第一次从服务器加载页面时发生(这就是为什么它是init-ialize命令)。
我从未见过在生产环境中使用ng-init
。它通常仅用于讨论Angular功能的网站和博客上的演示,因为它是一种快速初始化范围变量而无需创建控制器的方法。
由于您希望在单击链接时运行此链接,或许应该在链接单击功能中运行,类似于:
$scope.linkClick = function(listitem) {
$scope.newObject[listitem.idfonction] = $scope.inifonction[0];
... code to open modal ...
}
然后在您的HTML中,您可能需要将链接更改为以下内容:
<a ng-click="linkClick(l)">PCDR3</a>