私はangualarjsを初めて使い、anglejs 1.5コンポーネントを使用してページを作成し始めました。私は、複数の例から次の例を理解しようとしています。 angularjsは部分的なアプリケーション/カリングなどでjavascriptを拡張していますか?関数のパラメータはAngularjsで魔法のように一致しますか?
映画-rating.component.html: 機能model.setRating()
はvalue
のプロパティを持つオブジェクトに渡されます。
<span ng-repeat="entry in model.entries track by $index">
<span ng-click="model.setRating({ value: $index + 1})" class="glyphicon {{entry}}">
</span>
</span>
映画-rating.component.js: setRating
は "&" を使用してバインドされています。
module.component("movieRating", {
templateUrl: "/ps-movies/movie-rating.component.html",
bindings: {
value: "<",
max: "<",
setRating: "&"
},
映画list.component.html:コンポーネントを使用する場合 しかしながら、set-rating
は偶然にmodel.setRating(movie, value)
と機能が割り当てられていますか?映画は実際には<tr ng-repeat="movie in model.movies">
の値ですか?しかしvalue
?
<tr ng-repeat="movie in model.movies">
<td>{{movie.title}}</td>
<td>{{movie.length}}</td>
<td>
<movie-rating value="movie.rating" max="5" set-rating="model.setRating(movie, value)">
</movie-rating>
</td>
映画-list.component.js: 次のコードmodel.setRating = function(movie, rating)
で、value
のプロパティを持つオブジェクトに想定何らパラメータがありませんか?
function controller($http) {
var model = this;
model.movies = [];
model.$onInit = function() {
fetchMovies($http).then(function(movies) { model.movies = movies; });
};
model.upRating = function(movie) { if(movie.rating < 5) { movie.rating += 1; } };
model.downRating = function(movie) { if(movie.rating > 1) { movie.rating -= 1; } };
model.setRating = function(movie, rating) { // rating is int, and movie is string
movie.rating = rating;
};
何らかの明確にangularjs.orgサイトからいくつかのより多くの測定値で、これを説明できるなら、私に知らせて:https://docs.angularjs.org/api/ng/service/$compile#- '&or&attr'で始まる段落を参照してください - 親スコープのコンテキストで式を実行する方法を提供します。 – Andriy