Я пытался расширить приложение "Heros" из документации AngularJS
Я хотел добавить функциональность создания / добавления героя.
В HeroList.js из этого plunk Я могу добавить нового героя после нажатия кнопки Добавить из HeroList.html.
Однако, если я 'Обновляя поля ввода (скажем, имя), они также редактируются в списке.
Например, если я добавил нового героя (Капитан Америка), нажмите кнопку Добавить, а затем введите Робби, Капитан Америка будетбыть соединенным с Робби.
(function(angular) {
'use strict';
function HeroListController($scope, $element, $attrs) {
var ctrl = this;
// This would be loaded by $http etc.
ctrl.list = [
{
name: 'Superman',
location: ''
},
{
name: 'Batman',
location: 'Wayne Manor'
}
];
ctrl.create = function(hero) {
ctrl.list.push(hero);
};
ctrl.updateHero = function(hero, prop, value) {
hero[prop] = value;
};
ctrl.deleteHero = function(hero) {
var idx = ctrl.list.indexOf(hero);
if (idx >= 0) {
ctrl.list.splice(idx, 1);
}
};
}
angular.module('heroApp').component('heroList', {
templateUrl: 'heroList.html',
controller: HeroListController,
bindings: {
onCreate: '&'
}
});
})(window.angular);