Javascript 在angular.js中呈现逻辑?
我有三个模型属性年、指标、地理,它们控制数据可视化的渲染 根据此模型中更改的内容,我希望能够控制可视化的渲染:Javascript 在angular.js中呈现逻辑?,javascript,angularjs,Javascript,Angularjs,我有三个模型属性年、指标、地理,它们控制数据可视化的渲染 根据此模型中更改的内容,我希望能够控制可视化的渲染: //Pseudo code watch function ( year, indicator, geography ) { if(geography.previous == a && geography.current == b){ renderA() } if(geography.previous == a &am
//Pseudo code
watch function ( year, indicator, geography ) {
if(geography.previous == a && geography.current == b){
renderA()
}
if(geography.previous == a && year == 1950){
renderB()
}
}
正如上面的示例所示,我希望能够将以前的值与当前值以及模型更改的任何组合进行比较,以确定渲染效果
如何在Angular中设置此选项?(可能包括模型服务和查看多个属性…可以在这里帮助您。您可以为
A
和B
定义模板。这些模板可以是服务器端或客户端(使用ng模板)
如果使用客户端模板,它们看起来像
<script type="text/ng-template" class="template" id="templateA">
<!-- HTML for A here -->
</script>
<script type="text/ng-template" class="template" id="templateB">
<!-- HTML for B here -->
</script>
<div id="renderContainer" ng-include='templateName'></div>
更改templateName
变量将动态更改UI中呈现的模板可以帮助您。您可以为A
和B
定义模板。这些模板可以是服务器端或客户端(使用ng模板)
如果使用客户端模板,它们看起来像
<script type="text/ng-template" class="template" id="templateA">
<!-- HTML for A here -->
</script>
<script type="text/ng-template" class="template" id="templateB">
<!-- HTML for B here -->
</script>
<div id="renderContainer" ng-include='templateName'></div>
更改
templateName
变量将动态更改UI中呈现的模板如果要查看多个属性,则可以使用对象包装它们,并查看对象上的深层更改
$scope.obj = {
year : ...
indicator : ...
geography : ...
}
$scope.$watch('obj', function(newValue, oldValue) {
// your logic dependent on changes
}, true);
注意$watch函数的第三个true
参数。它负责观察深刻的变化
我不知道你想渲染什么,但如果这些是完全不同的模板,那么你可以使用
我不确定在这里使用某种服务是否是正确的选择。我倾向于某种指示。主要是因为服务没有范围。您可以使用指令包装所有内容,并将数据传递给执行渲染和逻辑的指令。如果要查看多个属性,则可以使用对象包装它们,并查看对象上的深层更改
$scope.obj = {
year : ...
indicator : ...
geography : ...
}
$scope.$watch('obj', function(newValue, oldValue) {
// your logic dependent on changes
}, true);
注意$watch函数的第三个true
参数。它负责观察深刻的变化
我不知道你想渲染什么,但如果这些是完全不同的模板,那么你可以使用
我不确定在这里使用某种服务是否是正确的选择。我倾向于某种指示。主要是因为服务没有范围。您可以使用指令包装所有内容,并将数据传递给执行渲染和逻辑的指令