私は新しい角度です。私は@/=
のディレクティブ分離スコープの違いについて多くのブログを読んだが、それでも私は混乱している。 ここに私が試した小さな例があります。分離されたスコープ(=)が文字列で機能しないのはなぜですか?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>Directive Test</title>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('MyCtrl', ['$scope', function ($scope) {
}]);
app.directive('personInfo', [function() {
return {
restrict: 'EA',
scope: {
name: '=',
age: '='
},
template: "My name is {{name}} . My age is {{age}}",
link: function (scope, iElement, iAttrs) {
console.log(scope.name);
}
};
}])
</script>
</head>
<body ng-controller="MyCtrl">
<person-info name="deepak" age="25"></person-info>
</body>
</html>
出力:
My name is . My age is 25
名前はundefined
である私はなぜ、私はname: @
をやっているときは、年齢が25 として来ている場所として、すべての作品を取得しておりませんもう一度罰金。
は私がではなく、strings.Iと数値との=
作品は一方通行と結合双方向に使用=
に使用@
を知っている理由はわからないが、私の例では、私は親スコープとは何の関係もありません。