Я пытаюсь создать компонент для создания «твитов» на моем собственном веб-сайте, и когда я пытаюсь написать что-то в текстовое поле (ничего не могу написать)

У меня есть это изображение, на котором показана ошибка:

AngularJS 1.5 error

И это мой код в "editorTweets.component.js":

class EditorTweetsComponentCtrl {
    constructor($scope, $state, User, Tweets){
        "ngInject";
        this._Tweets = Tweets;
        this._$state = $state;
        this._$scope = $scope;
        
        this.currentUser = User.current;
        console.log(this.currentUser);


        this.tweet = {
          body: ''
        }
        
        
    }

    submit() {
        console.log(this.tweet.body);

      }

}

let EditorTweets = {
    bindings: {
        tweet: '='
    },
    controller: EditorTweetsComponentCtrl,
    templateUrl: 'components/tweets-helpers/editorTweets.html'
};

export default EditorTweets;

И представление .html:

<div class="container-editor-tweets">
    <div class="left-editor-tweets">
        <img ng-src="{{$ctrl.currentUser.image}}" alt="Img-User"/>
    </div>

    <div class="right-editor-tweets">
        <div class="editor-tweet-body">
            <textarea name="tweet_msg" id="tweet_msg" placeholder="Whats going on?..." ng-model="$ctrl.tweet.body"></textarea>
        </div>
        <div class="editor-tweet-options">
            <button class="btn-submit-tweet" type="button" ng-click="$ctrl.submit()">Tweet</button>
        </div>
    </div>
</div>

2
Jooui 24 Сен 2020 в 21:37

1 ответ

Лучший ответ

Компонент не должен иметь привязок, потому что мне не нужно отправлять какие-либо данные, поэтому компонент пытается получить «твит», и это ошибка.

Это правильный код:

let EditorTweets = {
    controller: EditorTweetsComponentCtrl,
    templateUrl: 'components/tweets-helpers/editorTweets.html'
};
0
Jooui 25 Сен 2020 в 09:56