我写了一个简单的javascript函数,可以在两个div元素之间切换。像这样:
function goToResults() {
document.getElementById("services").style.display = "none";
document.getElementById("results").style.display = "block";
}
当我正在学习Angular时,我想将其转换为app.js中的Angular函数。我可以这样做吗?
$scope.goToResults = function () {
$scope.getElementById("services").style.display = "none";
$scope.getElementById("results").style.display = "block";
}
谢谢!
答案 0 :(得分:3)
您提供的代码存在一些问题。
首先,没有AngularJS这样的功能。它们与任何其他javascript函数相同。如果你想在AngularJS的范围内使用“javascript”函数,你可以执行以下操作:
function goToResults() {
...
}
$scope.goToResults = goToResults;
其次,在控制器内处理DOM操作被认为是一种不好的做法。改为使用指令。
第三,根据我的理解,您希望根据某些事件显示或隐藏div。有一些内置功能可以完成这些功能(ng-show,ng-hide,ng-if)。
你似乎缺乏关于Javascript& amp;的基本知识。 AngularJS,我建议通过Angular自己的文档[{3}}
给出示例教程。答案 1 :(得分:-2)
技术上可以使用
$scope.goToResults = function () {
document.getElementById("services").style.display = "none";
document.getElementById("results").style.display = "block";
}
但是,这并不是一个非常有角度的角色。这样做的方式。一个更有棱角的'路线在this question的答案中描述。一般来说,指的是具体的元素并不是“角”。办法;它试图让一些javascript实用程序随时可供(处理过的)HTML使用,例如指令,它们本质上是用于HTML的新元素或属性。指令的实现没有直接耦合到它使用这些属性或元素修改的元素,这使得角度更加可重用,并且在我和其他许多人中也是如此。意见,一旦你习惯了就更容易阅读和写作。