마크업에서 각도 범위 변수 설정
간단한 질문:스코프 값을 html로 설정하여 컨트롤러로 읽으려면 어떻게 해야 합니까?
var app = angular.module('app', []);
app.controller('MyController', function($scope) {
console.log($scope.myVar);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='app'>
<div ng-controller="MyController" app-myVar="test">
{{myVar}}
</div>
</div>
JSFiddle:http://jsfiddle.net/ncapito/YdQcX/
ng-init
루프 내에 변수를 할당하는 경우 이 동작하지 않습니다.사용하다{{myVariable=whatever;""}}
후행""
모든 텍스트에 대해 평가되는 각도 식을 중지합니다.
그럼 그냥 전화하시면 됩니다.{{myVariable}}
변수 값을 출력합니다.
여러 개의 중첩된 어레이를 반복할 때 이 방법이 매우 유용하다는 것을 알았고 여러 번 쿼리하는 대신 현재 반복 정보를 하나의 변수에 보관하고 싶었습니다.
ngInit
변수를 초기화하는 데 도움이 됩니다.
<div ng-app='app'>
<div ng-controller="MyController" ng-init="myVar='test'">
{{myVar}}
</div>
</div>
다음 명령어를 만듭니다.myVar
와 함께
scope : { myVar: '@' }
이렇게 불러주세요.
<div name="my_map" my-var="Richmond,VA">
특히 명령어의 camel case 참조는 하이픈으로 연결된 태그 이름에 유의하십시오.
자세한 내용은 다음 URL에서 "트랜스클루전 및 범위에 대하여"를 참조하십시오.- http://docs.angularjs.org/guide/directive
명령어 내에서 다양한 방법으로 속성에서 스코프 변수로 값을 복사하는 방법을 보여 주는 바이올린이 있습니다.
html에서 다음과 같이 값을 설정할 수 있습니다.아직 각도에서 직접 해법은 없는 것 같아요.
<div style="visibility: hidden;">{{activeTitle='home'}}</div>
사용할 수 있습니다.ng-init
아래와 같이
<div class="TotalForm">
<label>B/W Print Total</label>
<div ng-init="{{BWCount=(oMachineAccounts|sumByKey:'BWCOUNT')}}">{{BWCount}}</div>
</div>
<div class="TotalForm">
<label>Color Print Total</label>
<div ng-init="{{ColorCount=(oMachineAccounts|sumByKey:'COLORCOUNT')}}">{{ColorCount}}</div>
</div>
다음으로 다른 섹션에서 로컬스코프 변수를 사용합니다.
<div>Total: BW: {{BWCount}}</div>
<div>Total: COLOR: {{ColorCount}}</div>
$scope.$watch('myVar', function (newValue, oldValue) {
if (typeof (newValue) !== 'undefined') {
$scope.someothervar= newValue;
//or get some data
getData();
}
}, true);
변수는 컨트롤러 이후에 초기화되므로 사용자가 컨트롤러와 사용을 초기화하지 않은 시기를 감시해야 합니다.
루프가 아닌 경우 ng-init을 사용할 수 있습니다.
{{var=foo;""}}
"는 변수를 표시하지 않습니다.
답변은 좋지만 필요한 스코프 변수를 설정할 수 있는 글로벌 스코프 함수를 만드는 것이 좋다고 생각합니다.
따라서 globalController는
$scope.setScopeVariable = function(variable, value){
$scope[variable] = value;
}
html 파일에서 호출합니다.
{{setScopeVariable('myVar', 'whatever')}}
그러면 각 컨트롤러에서 $scope.myVar를 사용할 수 있습니다.
숨겨진 필드에는 다음과 같이ng-value 디렉티브를 사용할 수 있습니다.
<input type="hidden" ng-value="myScopeVar = someValue"/>
그러면 스코프 변수(myScopeVar)의 값이 "someValue"로 설정됩니다.
언급URL : https://stackoverflow.com/questions/16796341/set-angular-scope-variable-in-markup
'source' 카테고리의 다른 글
Spring Boot의 Resources 폴더에서 파일 읽기 (0) | 2023.03.08 |
---|---|
스코프가 파괴되었을 때 각도 $watch를 제거해야 합니까? (0) | 2023.03.08 |
각도에서의 토스터 사용JS 방식 (0) | 2023.03.08 |
스프링 부트 응용 프로그램에서 application.yaml을 사용하여 hystrix 명령 속성 구성 (0) | 2023.03.08 |
esc_url, esc_html, esc_attr 사용방법...기능들 (0) | 2023.03.08 |