data-binding - knockout.js - 数据绑定(bind)文本默认值

标签 data-binding knockout.js

在 knockout.js 中,我有一个非常标准的字段,如下所示:

<label data-bind="text: JobTitle"></label>

如果文本值为空,我想要在此处指定默认值,例如“未指定职位”。

这可以在 knockout.js 中执行吗?

谢谢。

最佳答案

最短/最简单的方法可能是:

<label data-bind="text: JobTitle()||'No Job Title Specified'"></label>

工作示例:

var ViewModel = function() {
    this.jobTitle = ko.observable();
};
 
ko.applyBindings(new ViewModel());
body { font-family: arial; font-size: 14px; }
.liveExample { padding: 1em; background-color: #EEEEDD; border: 1px solid #CCC; max-width: 655px; }
.liveExample input { font-family: Arial; }
.liveExample b { font-weight: bold; }
.liveExample p { margin-top: 0.9em; margin-bottom: 0.9em; }
.liveExample select[multiple] { width: 100%; height: 8em; }
.liveExample h2 { margin-top: 0.4em; font-weight: bold; font-size: 1.2em; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div class='liveExample'>   
    <p>Job Title: <input data-bind='value: jobTitle' /></p> 
    <h2 data-bind="text: jobTitle()||'No Job Title Specified'"></h2>  
</div>


或 JS fiddle :http://jsfiddle.net/735qC/43/

关于data-binding - knockout.js - 数据绑定(bind)文本默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10577078/

相关文章:

javascript - Angularjs - 数据绑定(bind)不适用于 Controller

wpf - 使用 WPF 和数据绑定(bind)将文件拖放到应用程序窗口中

javascript - 在 attr 绑定(bind)中绑定(bind)对象 - KnockoutJs

javascript - ko.js : Add data to existing vm

knockout.js - 如何将父函数添加到 KnockOut 双层嵌套映射中?

javascript - 具有不同 td 细胞和一个普通 td 细胞的 knockout 模板

c# - 在 ViewModel 中更新 View

javascript - AngularJS 的问题和 Select 绑定(bind)不加载默认值

.net - 使用 List<UIElement> 作为 ItemsControl 的 ItemsSource 会导致不应用 DataTemplate

javascript - 从 Knockout 发布到 ASP.NET MVC Controller