使用范围函数
虽然在$ rootscope 中声明一个函数有它的优点,但我们也可以声明一个$ scope 函数,它由$ scope 服务注入的代码的任何部分。例如,控制器。
调节器
myApp.controller('myController', ['$scope', function($scope){
$scope.myFunction = function () {
alert("You are in myFunction!");
};
}]);
现在你可以使用以下命令从控制器调用你的函数:
$scope.myfunction();
或者通过该特定控制器下的 HTML:
<div ng-controller="myController">
<button ng-click="myFunction()"> Click me! </button>
</div>
指示
一个角指令是,你可以用你的范围另一个地方:
myApp.directive('triggerFunction', function() {
return {
scope: {
triggerFunction: '&'
},
link: function(scope, element) {
element.bind('mouseover', function() {
scope.triggerFunction();
});
}
};
});
并在同一控制器下的 HTML 代码中:
<div ng-controller="myController">
<button trigger-function="myFunction()"> Hover over me! </button>
</div>
当然,你可以使用 ngMouseover 来做同样的事情,但是指令的特殊之处在于你可以按照你想要的方式自定义它们。现在你知道如何使用你的$ scope 函数,有创意!