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
参数。它负责观察深刻的变化

我不知道你想渲染什么,但如果这些是完全不同的模板,那么你可以使用

我不确定在这里使用某种服务是否是正确的选择。我倾向于某种指示。主要是因为服务没有范围。您可以使用指令包装所有内容,并将数据传递给执行渲染和逻辑的指令