Я новичок в angular.js
и я пробовал свои руки. Может кто-нибудь скажет мне, почему эта программа не работает?
Код HTML:
<!DOCTYPE html>
<html ng-app="demoApp">
<head>
<link data-require="bootstrap@*" data-semver="3.3.6" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" />
<script data-require="bootstrap@*" data-semver="3.3.6" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.js"></script>
<script data-require="jquery@>=1.9.1 <3" data-semver="2.1.4" src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script data-require="angular.js@*" data-semver="2.0.0-alpha.45" src="https://code.angularjs.org/2.0.0-alpha.45/angular2.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
<div ng-controller="SimpleController">
Name:
<br/>
<input type="text" ng-model="name" />
<br/>
<ul>
<li ng-repeat="cust in customers | filter:name"></li>
</ul>
</div>
</body>
</html>
Код JS:
// Code goes here
var demoApp = angular.module ('demoApp', []);
function SimpleController($scope){
$scope.customers=[
{name:'xx xx' city:'xx'},
{name:'yy yy' city:'yy'},
{name:'zz zz' city:'zz'}
];
}
demoApp.controller('SimpleController', SimpleController);
У вас есть несколько ошибок в вашем примере:
Основная проблема заключается в том, что вы используете синтаксис Angular 1.xx
то время как у вас есть скрипт Angular 2.xx
включенный в ваше приложение. Измените сценарий для предыдущей версии фреймворка.
<script data-require="[email protected]" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.js" data-semver="1.4.8"></script>
Объект клиентов не является допустимым JSON, поскольку разделительные разделители между свойствами отсутствуют. Он должен выглядеть так:
$scope.customers=[
{name:'parikshit mishra', city:'jaipur'},
{name:'nirmal vatsyayan', city:'delhi'},
{name:'ningning numeyi', city:'noida'}
];
Вы ничего не показываете, используя директиву ng-repeat
, вы просто создаете несколько пустых тегов <li>
, поэтому внутри них нет содержимого. Вам нужно отобразить переменную, которую вы повторяете. Если вы хотите показать только свойство имени объекта, используйте простой синтаксис точки.
<li ng-repeat="cust in customers">{{cust.name}}</li>
Ваш входной ng-model
привязан к ng-model
, но вы не используете переменную, привязанную к ней. Вы можете обратиться к переменной с помощью {{name}}
.
Name: {{name}}<br/>
<input type="text" ng-model="name"/>
Чтобы увидеть большую картину, здесь фиксированный образец.
Вот скрипичная демонстрация.
JS
$scope.customers=[
{name:'parikshit mishra', city:'jaipur'},
{name:'nirmal vatsyayan', city:'delhi'},
{name:'ningning numeyi', city:'noida'}
];
HTML
<li ng-repeat="cust in customers | filter:name">
{{ cust.name }}
</li>
Надеюсь, что это поможет вам
См. Ниже код
HTML
<h1>Hello Plunker!</h1>
<div ng-controller="SimpleController">
Name: <br/>
<input type="text" ng-model="name"/>
<br/>
<ul>
<li ng-repeat="cust in customers| filter:name">{{cust}}</li>
</ul>
</div>
угловатый
var demoApp = angular.module ('demoApp', []);
function SimpleController($scope){
$scope.customers=[
{name:'parikshit mishra', city:'jaipur'},
{name:'nirmal vatsyayan', city:'delhi'},
{name:'ningning numeyi', city:'noida'}
];
}
demoApp.controller('SimpleController', SimpleController);
Пожалуйста, обратитесь
проблема
$scope.customers
не является допустимым object
(отсутствующие запятые между свойствами).ng-repeat
. Используйте {{cust}}
. Пожалуйста, обратитесь к ng-repeat.