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

Koh*_*ese 17 angularjs angularjs-ng-init ng-bind

我想将一个默认值设置为范围,由ng-bind选取.我这样做:

<button>Show <span data-ng-bind="data.text" data-ng-init="data.text = 'All';"></span> Names</button>
Run Code Online (Sandbox Code Playgroud)

在此示例中,当页面加载时,span设置为innerHTML ='All'.

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

<button>Show <span data-ng-bind="data.text = 'All';"></span> Names</button>
Run Code Online (Sandbox Code Playgroud)

MrB*_*les 18

在你的控制器中:

$scope.data = {};
$scope.data.text = "All";
Run Code Online (Sandbox Code Playgroud)

你的标记:

<button>Show <span data-ng-bind="data.text"></span> Names</button>
Run Code Online (Sandbox Code Playgroud)

或者,如果您想跳过控制器代码(由Kohjah Breese'评论提供):

    <button>Show <span data-ng-bind="data.text || 'All'"></span> Names</button>
Run Code Online (Sandbox Code Playgroud)

据推测,控制器中的其他地方会有一些代码可以切换此值,但出于初始化的目的,应该这样做.

编辑:或者,正如tymeJV在评论中指出的那样(ng-cloak添加所以{{}}语法不会显示给用户):

<button>Show <span ng-cloak>{{data.text || "All"}}</span> Names</button>
Run Code Online (Sandbox Code Playgroud)


flo*_*ori 5

||运营商的工作也ngBind像纯JavaScript:

<span ng-bind="myVariable || 'My default value'"></span>
Run Code Online (Sandbox Code Playgroud)

myVariable如果变量被填充,则输出,否则使用替代'My default value'