0

コンポーネントのライフサイクル フック、特に$onInit(). 私は Todd Mottos Course と協力しており、そこで彼はコンポーネントを構築していますが、これは私の意見では 1.6 では動作しないはずですが、それでも動作します:

var repos = {
template: `
    <div class="repos">
        My Repos:
        <ul>
            <li ng-repeat="repo in $ctrl.list">
                <a href="{{ repo.html_url }}">
                    {{ repo.name }}
                </a>
                ({{ repo.stargazers_count }} stars)
            </li>
        </ul>
    </div>
`,
controller: function (ReposService) {
    var ctrl = this;
    ctrl.list = [];
    ReposService.getRepos().then(function (response) {
        console.log(ctrl.list);
        ctrl.list = response;
    });
}
};

angular
    .module('repos')
    .component('repos', repos)
    .config(function ($stateProvider) {
        $stateProvider
            .state('repos', {
                url: '/repos',
                component: 'repos'
        });
    });

わからない、なぜ

controller: function (ReposService) {
    var ctrl = this;
    ctrl.list = [];
    ReposService.getRepos().then(function (response) {
        ctrl.list = response;
    });
}

まだ動作しますが、「ctrl.list」は $onInit 内で初期化する必要があると思いました。そうしないと、まだ未定義ですか?

4

0 に答える 0