感觉我今天有点脑死亡。
我有一个字符串和一个输入。我需要将输入值拉到字符串的中间。但是我希望它被绑定,因此当您键入输入时,您可以在字符串中看到它。
一种解决方案是将字符串溢出然后我可以做类似的事情。
<p>{{stringStart}} {{country}} {{stringEnd}}</p>
但是我可能会遇到这样一种情况,即弦乐需要通过许多变形,因此这样做可能会很乏味。见下面的例子。
https://jsfiddle.net/bc3chrog/5/
我觉得可能有另一种更简单的方法可以做到这一点,但似乎无法找到一个好的解决方案。
编辑:对不起,我应该提一下,我需要将新字符串保存回范围var。有些人已经制定了一些有效的解决方案,但我试图避免将文本设置为两个位置。如果它只在一个地方定义,那么对它进行更新会更简洁,更容易。
答案 0 :(得分:2)
如果您需要控制器中的连接字符串,则可以设置$watch
。
$scope.$watch('country', function(newValue) {
$scope.fullCountryString = 'string start ' + newValue + ' string end';
});
任何时候$scope.country
获取新值,都会为$scope.fullCountryString
创建一个新值。因此,您可以根据需要将视图绑定到fullCountryString
。
答案 1 :(得分:0)
function ExampleController($scope) {
$scope.countryPlaceholder = 'INPUT TEXT HERE';
$scope.countryText = 'I come from ' + $scope.country + '. The best place in the world.'
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
<form ng-controller="ExampleController">
<input type="text" class="textbox" name="country" id="country" ng-model="country" placeholder="{{countryPlaceholder}}" />
<p>{{'I come from ' + country + '. The best place in the world.'}}</p>
</form>
</div>
&#13;