angularjs设置计算前显示的默认值
我在现有站点上使用angularJs实现了非常简单的功能 是这样的angularjs设置计算前显示的默认值,angularjs,Angularjs,我在现有站点上使用angularJs实现了非常简单的功能 是这样的 <div ng-app> <div ng-controller="TermsController"> <input type="checkbox" ng-model="terms.agree" /> <input type="submit" value="{{terms.label}}" .. /> </div> <
<div ng-app>
<div ng-controller="TermsController">
<input type="checkbox" ng-model="terms.agree" />
<input type="submit" value="{{terms.label}}" .. />
</div>
</div>
我在页面中部插入角度,除了角度负载很慢,用户可以看到{{ Trime} } } } } } } } } } } { } } } } } > 我试着做一些类似的事情
<input type="submit" value="Default value" ng-model="terms.label" .. />
但它从未更新提交按钮的值。无论如何,我敢打赌我看到过类似的情况,但可能输入字段没有值属性,只有模型
任何关于如何在angularJs加载之前设置模板的指导都值得赞赏
我知道我可以设置一些预加载程序,并在angular加载后将其替换,但对于这个简单的任务来说,这似乎是一个过度的任务
感谢您的帮助您可以在加载过程中使用
ng-clope
属性隐藏元素:
<div ng-app>
<div ng-controller="TermsController" ng-cloak>
<input type="checkbox" ng-model="terms.agree" />
<input type="submit" value="{{terms.label}}" .. />
</div>
</div>
参考资料:对于现有版本的AngularJS,您能做的最好的事情就是给我们指令。根据其文件: 优先使用ngBind而不是{{ 表达式}}绑定是在需要将绑定放入 浏览器在原始状态下即时显示的模板 在Angular编译之前。由于ngBind是一个元素属性,因此 在加载页面时,使绑定对用户不可见 要使
ng bind
在您的案例中工作,您必须将输入
标记更改为按钮
标记,如下所示:
<div ng-controller="TermsController">
<input type="checkbox" ng-model="terms.agree">
<button type="submit" ng-bind="terms.label">Before</button>
</div>
之前
下面是一个正在工作的JSFIDLE:
您可以使用
ng-clope
(有关更多信息,请参阅),但是ng-clope
将隐藏整个DOM元素(及其子元素),而我相信您已经要求使用一个“默认”值,当AngularJS启动时,该值将更改为绑定。确定回答了我的问题,但这似乎是一个解决方法,而不是一个通用解决方案。我猜angularJs是为更具动态性的站点设计的,在这些站点中,可以在angular初始化完成时显示预加载和切换视图