使用angularjs动态更改变量值

时间:2014-07-19 05:20:50

标签: javascript jquery angularjs

我正在努力学习angularjs。

我有以下控制器,

   skillPopulator.controller('skillsetController', function(){
         this.skillType = language; //value to be changed
    });

languagedatabase是包装器中custom.js中的jsons,其中存在控制器,如

var language = {         
            name: 'Java, Javascript, HTML5, CSS3'
        }
var database = {         
            name: 'MySQL, Oracle, PostGres'
        }

我想在事件

上将skillType的值更改为database
$("#db-skill").hover();

1)如果我这样做,更改是否会在我的{{skill.skillType.name}}上反映出来而不刷新?

2)我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果你想在html端使用你的变量,你应该将它们添加到$scope,所以你在控制器中的基本jsons在html方面没有任何意义,这就是为什么当你超过你的时候看不到任何变化HTML项目......

将你的jsons改成这个......

$scope.language = {         
            name: 'Java, Javascript, HTML5, CSS3'
        }
$scope.database = {         
            name: 'MySQL, Oracle, PostGres'
        }

这是一个有效的PLUNKER ...

答案 1 :(得分:0)

您可以使用ng-mouseover 请参阅文档:https://docs.angularjs.org/api/ng/directive/ngMouseover

而不是使用此

$("#db-skill").hover();

使用它:

<ANY id="db-skill" ng-mouseover="skillType = database"></ANY>