AngularJS でブラケット {{ }} の代わりに ng-bind ディレクティブを使用したいと考えています。例があります:
<tag type="{{value1}}">{{value2}}</tag>
value2 の変更は簡単です。我々は持っています:
<tag type="{{value1}}" ng-bind="value2"></tag>
{{value1}}
ブラケット表記を削除するにはどうすればよいですか?
DonJuwe による最初の解決策は、私にとっては正しく機能しません。たぶん私は何か間違ったことをしています。たとえば、HTML では次のようになります。
<div ng-controller="TestController">
1. <p style="{{style}}">{{style}}</p>
2. <p style="getStyle()" ng-bind="style"></p>
3. <p style="getStyle()" ng-bind="getStyle()"></p>
<input type="button" ng-click="setStyle()" value="Change Style" />
</div>
コントローラーで:
var module = angular.module('myApp', []);
module.controller('TestController', function ($scope) {
$scope.style = 'color: rgb(0, 0, 0)';
$scope.getStyle = function() {
return $scope.style;
};
$scope.setStyle = function() {
$scope.style = 'color: rgb('+Math.floor(Math.random() * 255)+', 0, 0)';
}
});
ボタンをクリックすると、すべてのテキスト (1.、2.、3.) は正しくなりますが、1 行目だけがランダムな赤に変わります。