7
$ scopeの属性をこのようなカスタムディレクティブに渡すことができますか?私は{{ratable.currentvalueを}}合格しようとすると、カスタムディレクティブの属性値を設定するときに文字列の補間が機能しない
<div ng-repeat="ratable in ratables">
<div>How much do you like {{ratable.name}}?</div>
<!-- CONFUSED - First element does not work, second element does -->
<rating currentRatingValue="{{ratable.currentvalue}}" maxRatingValue="10"></rating>
</div>
ハードワイヤード「10」はうまくディレクティブに通過するが、文字列の補間発生するようですありません。明らかに間違ったことをしていますか?
http://jsfiddle.net/ADukg/2168/
var myApp = angular.module('myApp',[])
.directive("rating", function() {
return {
restrict: "E",
scope: {},
template: "<div class='rating'>Current rating: {{currentratingvalue}} out of {{maxratingvalue}}</div>",
link: function (scope, element, attributes) {
console.log(attributes.currentratingvalue); // Does not work but seems like it should
console.log(attributes.maxratingvalue); // Does work
}
};
});
function MyCtrl($scope) {
$scope.name = 'Superhero';
$scope.ratables = [
{ name: "sledding", currentvalue: 3, maxvalue: 5 },
{ name: "water skiing", currentvalue: 7, maxvalue: 10 },
{ name: "whitewater rafting", currentvalue: null, maxvalue: 10 }
];
}
<div>
<div ng-controller="MyCtrl">
Hello, {{name}}!
<div ng-repeat="ratable in ratables">
<div>How much do you like {{ratable.name}}?</div>
<!-- CONFUSED - First element does not work, second element does -->
<rating currentRatingValue="{{ratable.currentvalue}}" maxRatingValue="10"></rating>
</div>
</div>
</div>
あなたは私の心を吹き飛ばしました!信じられない!私は蛇のケースが "サポートされている"と思っていたが、それが必要であることを認識していなかった。 – blaster
私はこれまでに約10種類の異なる角度の動画を見てきましたが、それは初めてです。明らかに私はスコープをよりよく理解する必要があります。私がここで実際にどのような質問をしているのかはほとんど分かりませんでした。どうもありがとうございます! :) – blaster
上記のいずれかの点が不明な場合は、必ず質問してください。 Angularはかなり急な学習曲線を持っています。 –