디버깅하는 동안 오류가 발생했습니다. 2열의 토큰 '{' 키가 잘못되었습니다.
디버깅할 수 없는 오류가 발생했습니다.
폼필드.이네이블로그
<div class='row form-group' ng-form="{{field}}" ng-class="{ 'has-error': {{field}}.$dirty && {{field}}.$invalid }">
<label class='col-sm-2 control-label'> {{ field | labelCase }} <span ng-if='required'>*</span></label>
<div class='col-sm-6' ng-switch='required'>
<input ng-switch-when='true' ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' required ng-change='update()' ng-blur='blurUpdate()' />
<div class='input-group' ng-switch-default>
<input ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' ng-change='update()' ng-blur='blurUpdate()' />
<span class='input-group-btn'>
<button class='btn btn-default' ng-click='remove(field)'><span class='glyphicon glyphicon-remove-circle'></span></button>
</span>
</div>
</div>
<div class='col-sm-4 has-error' ng-show='{{field}}.$dirty && {{field}}.$invalid' ng-messages='{{field}}.$error'>
<p class='control-label' ng-message='required'> {{ field | labelCase }} is required. </p>
<p class='control-label' ng-repeat='(k, v) in types' ng-message='{{k}}'> {{ field | labelCase }} {{v[1]}}</p>
</div>
</div>
new.discloss.discloss.conf.
<h2> New Contact </h2>
<form name='newContact' novalidate class='form-horizontal'>
<form-field record='contact' field='firstName' live='false' required='true'></form-field>
<div class='row form-group'>
<div class='col-sm-offset-2'>
<button class='btn btn-primary' ng-click='save()'> Create Contact </button>
</div>
</div>
</form>
다음의 에러가 표시됩니다.
브라우저에서:
오류: [$syslog:http://http://errors.angularjs.org/1.4.1/$parse/syntax?p0=%7B&p1=invalid%20key&p2=2&p3=%7B%7Bfield%7D%7D.%24error&p4=%7Bfield%7D%7D.%24error]
각진 부위:
오류: $parse: 구문 오류: 구문 오류:표현식 [{field}}의 2열에 토큰 '{' 키가 잘못되었습니다.$error]가 [{field}}부터 시작됩니다.$error.
왜 그런지 아는 사람?감사합니다!
이 에러는 커스텀 디렉티브의 Atribute에 데이터를 바인드 할 때도 발생합니다.어디에
$scope.myData.value = "Hello!";
이로 인해 다음 오류가 발생합니다.
<my-custom-directive my-attr="{{myData.value}}"></my-custom-directive>
하지만 이 방법은 잘 작동합니다.
<my-custom-directive my-attr="myData.value"></my-custom-directive>
문제는 다음과 같습니다.
ng-class="{ 'has-error': {{field}}.$dirty && {{field}}.$invalid }"
제거한다.{{ }}
:
ng-class="{ 'has-error': field.$dirty && field.$invalid }"
여기에도 같은 문제가 있습니다.
ng-messages='{{field}}.$error'
대체 대상:
ng-messages='field.$error'
다만, 이러한 문제를 수정하면, 이 회선의 에러가 발생하는 경우가 대부분입니다.
ng-message='{{k}}'
따라서 다음과 같이 변경해야 합니다.
ng-message='k'
이 문제는 제가 같은 튜토리얼을 따를 때 발생하였습니다.이 경우 해결방법은 ngMessages의 새로운 버전을 사용하고 있기 때문에 bower.json 파일을 비디오의 동일한 버전으로 갱신해야 한다는 것을 알게 되었습니다(버전 1.4 이후로는 이 예제는 작동하지 않습니다).그 후 모든 것이 정상적으로 동작하며, 여기에 의존관계가 표시됩니다.섹션:
"dependencies": {
"angular": "1.3.9",
"angular-route": "1.3.9",
"angular-resource": "1.3.9",
"angular-messages": "1.3.9",
"bootstrap": "^3.3.6"}
이것이 내 html이라고 가정하자.
<div ng-controller='MyCtrl' ng-init="array=[{id:1}, {id:2}]">Hi, it's {{name}}.
<div ng-repeat='obj in array'>
The current time is <display-time data="{{array}}"/>.
</div>
</div>
여기서display-time
는 커스텀 디렉티브입니다.정의는 다음과 같습니다.
var demo = angular.module('demo', []);
demo.directive('displayTime', function($parse) {
return {
restrict: 'E',
replace: true,
scope: {
data: '='
},
transclude: false,
template: '<span class="currentTime"></span>',
link: function (scope, element, attrs, controller) {
var currentDate = new Date();
console.log(scope.data);
element.text(currentDate.toTimeString());
}
}});
에 사용되는 구문을 주의 깊게 관찰해 주십시오.data="{{array}}"
.
사용하고 있기 때문에data
커스텀 디렉티브의 범위(문구를 사용)에서
scope: {
data: '='
},
),
나는 얻을 것이다parse error
하지만 구문을 사용하면data="array"
링크 함수 내에서 다음 코드 스니펫을 사용합니다.
scope: {
//data: '='
},
그럼 난 안 받을 거야parse error
.
그래서 당신은 구문을 사용해야 합니다.data="{{array}}"
의 일부로서 액세스 하고 싶은 경우에만attrs
내부 파라미터link
기능.
언급URL : https://stackoverflow.com/questions/31357055/having-a-hard-time-debugging-error-token-invalid-key-at-column-2
'programing' 카테고리의 다른 글
각도에서의 알파벳 순으로 정렬 드롭다운JS (0) | 2023.03.12 |
---|---|
UI 라우터 조건부 UI 뷰? (0) | 2023.03.12 |
WordPress에서 jQuery noConflict 모드를 끄는 방법이 있습니까? (0) | 2023.03.12 |
텍스트를 -90도 회전하고 div와 수직으로 정렬합니다. (0) | 2023.03.12 |
Wordpress에서 HTTPS를 비활성화하고 HTTPS를 HTTP로 리디렉션하려면 어떻게 해야 합니까? (0) | 2023.03.12 |