我有一个p
标记和一个文本input
。我想首先在p标签中显示默认的html(例如 [[enter text]] )(当页面加载时)但是当用户在输入框中写入一些文本时它将被修改。输入标签将有一个占位符(例如请输入此处),没有默认值。我曾尝试在输入标记中使用ng-model
,但它也使输入值等于我不想要的模型。在页面加载时,输入标记值将不同于p标记。
更新:通过这种方式解决了 https://jsfiddle.net/acmnosyf
答案 0 :(得分:2)
我试图为您解决问题here。
我将p
代码的模型设置为input
的其他模型。
<p>{{text}}</p>
<input ng-model="inputText" ng-change="changed(inputText)" type="text">
因此,当输入更改时,将调用changed
函数。在您的控制器中,您只需要像这样实现changed
函数
app.controller('MyCtrl', function($scope) {
var text = "myText";
$scope.text = text;
$scope.changed = function(input) {
$scope.text = input;
// Resset text to default value
if (input === "") {
$scope.text = text;
}
}
});
希望这会有所帮助。
修改强>
正如其中一条评论所说,设置p
的最优雅方法之一是
<p>{{text ? text : "My text" }}</p>
<input ng-model="text" type="text">