Angularjs ng init无法初始化文本框的ng模型
我正在尝试使用值0初始化我的模型Angularjs ng init无法初始化文本框的ng模型,angularjs,angularjs-ng-model,ng-init,Angularjs,Angularjs Ng Model,Ng Init,我正在尝试使用值0初始化我的模型放电.total,这样文本框默认填充为0。 但是文本框并没有预填充 请注意: 我不希望模型在控制器中初始化 我已经在控制器中初始化了$scope.discharge={} ngInit用于计算表达式。检查它是如何使用的 你可以做一些类似的事情 {{出院总人数} 检查一下为什么你的不起作用 {{discharge} 您应该在控制器中初始化对象,而不是使用ng init@vinet我的控制器已经列出了全部变量初始化。我知道它的最佳实践,但目前我正试图以这种方
放电.total
,这样文本框默认填充为0。
但是文本框并没有预填充
- 请注意:
- 我不希望模型在控制器中初始化
- 我已经在控制器中初始化了
$scope.discharge={}
ngInit用于计算表达式。检查它是如何使用的 你可以做一些类似的事情
{{出院总人数}
检查一下为什么你的不起作用
{{discharge}
您应该在控制器中初始化对象,而不是使用ng init
@vinet我的控制器已经列出了全部变量初始化。我知道它的最佳实践,但目前我正试图以这种方式实现解决方案。您的代码对我有效…从角度来看-此指令可能被滥用,以便在模板中添加不必要的逻辑量。ngInit只有一些合适的用途,例如,在下面的演示中可以看到,为ngRepeat的特殊属性别名;以及通过服务器端脚本注入数据。除了这几种情况之外,您还应该使用控制器而不是ngInit来初始化作用域上的值。由于您有$scope.discharge={}
,执行此操作非常简单$scope.discharge={total:0}
,正如您在我发布的链接中看到的,ngInit用于求解表达式,因此类似于ng init的东西=“value=discharge.total*5”就行了。你是说如果我写ng init=“discharge.total=0+0?”“应该行得通吗?所以,如果你这样做的话,这会行得通的。哪种方式,它可以用,检查第一小提琴。”。我也编辑了一点,这是你想要的吗?我面临着同样的问题。如果使用原语varaible来命名ng模型而不是对象属性,则ng init可以工作。但这太违反直觉了,因为它的范围可能会有问题。
<body ng-app>
<div ng-controller="testController" >
<input ng-init="discharge.total = 0 " class=" form-control" type="text" ng-model="discharge.total" disabled>
</div>
</body>
<div ng-init="discharge.total = 5">
{{discharge.total}}
</div>
<input ng-init="discharge = 0 " class=" form-control"
type="text" ng-model="discharge.total" disabled>{{discharge}}</input>