指令&修饰符
<body ng-app="app" ng-controller="skController">
<input type="text" ng-model="title">
<hr>
<!--注意:往指令中传方法加()-->
<xmg childmethod="pareMethod()" skshow="paraShow()"></xmg>
</body>
<script src="angular1.6.js"></script>
<script>
//创建模块
var app = angular.module('app', []);
//创建控制器
app.controller('skController', ['$scope',function ($scope) {
$scope.title = '俺是父控制的标题111';
$scope.pareMethod = function () {
alert("执行父级控制器方法");
}
$scope.paraShow = function () {
console.log('你若花开');
}
}]);
app.directive('xmg', function () {
return{
restrict:'EA',
//注意:指令默认和父级使用同一个 $scope
//子级可以去指定作用域
template:'<h1><button ng-click="click()">子级按钮</button></h1>',
replace:true,
controller:function ($scope) {
//执行从外界传入的方法
$scope.click = function () {
$scope.childmethod();
$scope.skshow();
}
},
/**
* &修饰符 ,从外界传入方法
*/
scope:{
childmethod:'&', //外界传递进来的方法
skshow:'&'
}
}
})
</script>