Angularjs 在HTML中将默认值设置为ng bind

Angularjs 在HTML中将默认值设置为ng bind,angularjs,angularjs-ng-init,ng-bind,Angularjs,Angularjs Ng Init,Ng Bind,我想将默认值设置为scope,它由ng bind获取。我是这样做的: <button>Show <span data-ng-bind="data.text" data-ng-init="data.text = 'All';"></span> Names</button> 显示名称 在本例中,当页面加载时,span设置为innerHTML='All' 但是,我希望有一种方法可以做到这一点,而不需要使用ng init,可能类似于: <butt

我想将默认值设置为scope,它由ng bind获取。我是这样做的:

<button>Show <span data-ng-bind="data.text" data-ng-init="data.text = 'All';"></span> Names</button>
显示名称
在本例中,当页面加载时,span设置为innerHTML='All'

但是,我希望有一种方法可以做到这一点,而不需要使用ng init,可能类似于:

<button>Show <span data-ng-bind="data.text = 'All';"></span> Names</button>
显示名称
来自:

ngInit的唯一适当用途是为ngRepeat[…]的特殊属性别名。除此之外,您应该使用控制器而不是ngInit来初始化作用域上的值

因此,我想在控制器中初始化data.text对于控制器中的angularjs来说很好:

$scope.data = {};
$scope.data.text = "All";
您的标记:

<button>Show <span data-ng-bind="data.text"></span> Names</button>
显示名称
或者,如果您想跳过控制器代码(由Kohjah Breese的评论提供):

显示名称
可能控制器中的其他地方会有一些代码切换此值,但为了初始化,应该这样做

编辑:或者,正如tymeJV在注释中指出的那样(ng-Clope添加了{{}}语法,因此不会向用户显示):

显示{{data.text | |“All”}名称

|
操作符也在
ngBind
中工作,就像在纯JavaScript中一样:

<span ng-bind="myVariable || 'My default value'"></span>


如果变量已填充,则输出
myVariable
,否则使用替代的
“我的默认值”

{{data.text | |“All”}
(如果你在离开ng bind时没有任何问题,那么这也是可行的,这正是我想要的:无论它值多少钱,codeschool.com的入门课程(很好,我不想这样说,等等)使用
this
而不是
$scope
,但我猜这样做是相当标准的做法。也许他们会在下一级课程中使用它
<button>Show <span ng-cloak>{{data.text || "All"}}</span> Names</button>
<span ng-bind="myVariable || 'My default value'"></span>