在以下程序中,功能应该如下 - >控制器,指令控制器,编译,链接。但是,编译函数似乎有一些错误。控制器,指令控制器,编译,链接 - 工作流程(编译功能不起作用)
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js" ></script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<people></people>
<script>
//1 module declaration
var app = angular.module("myApp",[]);
//3 controller declaration
app.controller('myCtrl',function($scope){
//before going to directive
$scope.name = "One";
});
//5 directives declaration
app.directive('people',function(){
return{
restrict: 'E',
template: '<div>{{name}}</div>',
//before compilation
controller: function($scope, $element){
$scope.name = $scope.name + "Two";
},
compile: function($scope, $element){
$scope.name = $scope.name + "Three";
},
//after compilation
link: function($scope, el, attr){
$scope.name = $scope.name + "Four"
}
}
});
</script>
</body>
</html>
后市展望:
OneTwoThreeFour
结果
OneTwo
但是,如果我从指令取出编译功能,我得到以下结果:
OneTwoFour
有什么不对的编译功能,它并没有在$ scope.name呈现“三化”?从Angular documentation采取
希望这不应该是一个问题,在你的代码,但这里的拼写错误限制:'E',' –
Nopse,抱歉是错字。 – Deadpool
下面的答案有帮助吗?让我知道你是否需要任何进一步的信息。 – carlcheel