单击单选按钮时动态更改容器
Dynamically change container when clicking radiobutton
我想在单击单选按钮后动态更改容器。我知道我可以使用 ng-model 和值轻松地做到这一点。
这是一个 JSFiddle:
http://jsfiddle.net/vDTRp/2/
当您有一个小容器或只有一些文本时,它工作正常。但是我如何使用存储在范围中的巨大容器来做到这一点?
function MyCtrl($scope) {
$scope.value[0]='<div>big container when clicking radiobutton 1</div>'
$scope.value[1]='<div>big container when clicking radiobutton 2</div>'
$scope.value[2]='<div>big container when clicking radiobutton 3</div>'
}
$scope.value[0] 得到了我的单选按钮 1 的容器,$scope.value[1] 得到了我的单选按钮 2 的容器,$scope.value[2] 得到了我的单选按钮 3 的容器。
HTML 应该是什么动态地做到这一点? ('dynamically' 我的意思是单击单选按钮会更改容器,如 jsfiddle 中所示的示例。)
非常感谢!
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.number = '0';
$scope.value = [];
$scope.value[0]='<div>big container when clicking radiobutton 1</div>';
$scope.value[1]='<div>big container when clicking radiobutton 2</div>';
$scope.value[2]='<div>big container when clicking radiobutton 3</div>';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<input type="radio" ng-model="number" value="0">
<input type="radio" ng-model="number" value="1">
<input type="radio" ng-model="number" value="2">
<hr>
{{value[number]}}
</div>
</div>
您可以像这样在选定的单选按钮上隐藏显示容器
<div ng-controller="MyCtrl">
<input type="radio" ng-model="number" value="0">
<input type="radio" ng-model="number" value="1">
<input type="radio" ng-model="number" value="2">
<hr>
{{value[number]}}
<div ng-bind-html-unsafe="value[number]"></div> <--if you want bind html than use ng-bind-html-unsafe
</div>
并像这样更改您的控制器
function MyCtrl($scope) {
$scope.number = '0';
$scope.value = [];
$scope.value[0]='<div>big container when clicking radiobutton 1</div>'
$scope.value[1]='<div>big container when clicking radiobutton 2</div>'
$scope.value[2]='<div>big container when clicking radiobutton 3</div>'
$scope.$watch('value', function(value) {
console.log(value);
});
}
我想在单击单选按钮后动态更改容器。我知道我可以使用 ng-model 和值轻松地做到这一点。 这是一个 JSFiddle: http://jsfiddle.net/vDTRp/2/ 当您有一个小容器或只有一些文本时,它工作正常。但是我如何使用存储在范围中的巨大容器来做到这一点?
function MyCtrl($scope) {
$scope.value[0]='<div>big container when clicking radiobutton 1</div>'
$scope.value[1]='<div>big container when clicking radiobutton 2</div>'
$scope.value[2]='<div>big container when clicking radiobutton 3</div>'
}
$scope.value[0] 得到了我的单选按钮 1 的容器,$scope.value[1] 得到了我的单选按钮 2 的容器,$scope.value[2] 得到了我的单选按钮 3 的容器。
HTML 应该是什么动态地做到这一点? ('dynamically' 我的意思是单击单选按钮会更改容器,如 jsfiddle 中所示的示例。)
非常感谢!
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.number = '0';
$scope.value = [];
$scope.value[0]='<div>big container when clicking radiobutton 1</div>';
$scope.value[1]='<div>big container when clicking radiobutton 2</div>';
$scope.value[2]='<div>big container when clicking radiobutton 3</div>';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<input type="radio" ng-model="number" value="0">
<input type="radio" ng-model="number" value="1">
<input type="radio" ng-model="number" value="2">
<hr>
{{value[number]}}
</div>
</div>
您可以像这样在选定的单选按钮上隐藏显示容器
<div ng-controller="MyCtrl">
<input type="radio" ng-model="number" value="0">
<input type="radio" ng-model="number" value="1">
<input type="radio" ng-model="number" value="2">
<hr>
{{value[number]}}
<div ng-bind-html-unsafe="value[number]"></div> <--if you want bind html than use ng-bind-html-unsafe
</div>
并像这样更改您的控制器
function MyCtrl($scope) {
$scope.number = '0';
$scope.value = [];
$scope.value[0]='<div>big container when clicking radiobutton 1</div>'
$scope.value[1]='<div>big container when clicking radiobutton 2</div>'
$scope.value[2]='<div>big container when clicking radiobutton 3</div>'
$scope.$watch('value', function(value) {
console.log(value);
});
}