大家好,我在处理 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 为什么它保存了我刚刚编辑的内容。
感谢大家的支持。
最佳答案
ng-init
只会在 Angular 处理 HTML 时运行,这通常会在第一次从服务器加载页面时发生(这就是为什么它是一个 init-ialize 命令)。
我从未见过 ng-init
在生产环境中使用过。它通常只用于网站和博客上谈论 Angular 功能的演示,因为它是一种无需创建 Controller 即可初始化范围变量的快速方法。
因为您希望它在单击链接时运行,也许应该在链接单击函数中,类似于此:
$scope.linkClick = function(listitem) {
$scope.newObject[listitem.idfonction] = $scope.inifonction[0];
... code to open modal ...
}
然后在您的 HTML 中,您可能需要将链接更改为如下内容:
<a ng-click="linkClick(l)">PCDR3</a>
关于javascript - 使用 ng-init 刷新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37396106/