Я пытаюсь захватить user.firstName и user.lastName, добавить коллекцию часов к этим моделям и отбросить имя пользователя.
Кажется, я не могу общаться между ними, я думаю, что я использую scope и self wrong. Я довольно новый и недопонимающий две концепции.
И потому, что я получаю сообщение об ошибке, что такое правильный способ захватить lastName
и firstName
от $user
объекта, и выплюнуть обратно что-то мнение?
Я использую синтаксис «контроллер как». Ty для любого руководства.
HTML
<input ng-model="ctrl.user.firstName" required>
<input ng-model="ctrl.user.lastName" required>
<input type="text" value="{{userName}}" name="user_name" ng-model="ctrl.user.userName">
JS
var self = this
$scope.$watchCollection('[user.firstName, user.lastName]', function() {
if (self.user.firstName != '' && self.user.lastName != '') {
$scope.userName = self.user.firstName + '_' + self.user.lastName + '_' + Math.floor((Math.random() * 100000) + 1);
$scope.user.userName.$setViewValue($scope.userName);
}
});
self.user.firstName производит ошибку, это потому, что это не экземпляр, прежде чем часы происходит ?? – Tuesdave
Да, вам нужно инициализировать объект пользователя, прежде чем ссылаться на его свойство. См. Обновление –