我正在努力学习angularjs。
我有以下控制器,
skillPopulator.controller('skillsetController', function(){
this.skillType = language; //value to be changed
});
language
和database
是包装器中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)我该怎么做?
答案 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>