在以下程序中,功能應該如下 - >控制器,指令控制器,編譯,鏈接。但是,編譯函數似乎有一些錯誤。控制器,指令控制器,編譯,鏈接 - 工作流程(編譯功能不起作用)
<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