大家好,我在处理ng-init或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为什么它保存我刚刚编辑的内容。
感谢所有的支持。
发布于 2016-05-24 00:44:49
ng-init只有在Angular处理超文本标记语言时才会运行,这通常会在第一次从服务器加载页面时发生(这就是为什么它是一个初始化命令)。
我从未见过在生产环境中使用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>https://stackoverflow.com/questions/37396106
复制相似问题