저는 Stackoverflow를 처음 사용합니다. 저는 AngularJS도 처음입니다. 내가 올바르게 사용하지 않으면 사과드립니다. 그래도 AngularJS로 UI 컨트롤을 만들려고합니다. 내 UI 컨트롤은 다음과 같습니다.AngularJS에서 재사용 가능한 구성 요소 만들기
+---------------------+
| |
+---------------------+
예. 텍스트 상자에는 특별한 기능이 있습니다. 단추로 페이지에 넣을 계획입니다. 내 생각은 개발자로서, 나는 이런 식으로 뭔가를 입력 할 것입니다 :
<ul class="list-inline" ng-controller="entryController">
<li><my-text-box data="enteredData" /></li>
<li><button class="btn btn-info" ng-click="enterClick();">Enter</button></li>
</ul>
주의 사항, 나는 하지 내 컨트롤 버튼을 원하십니까. 또한 자식 컨트롤과 관련된 범위에서 enteredData
을 사용할 수있게하려고합니다. 즉, enterClick
이 호출되면 $scope.enteredData
을 통해 값을 읽을 수 있기를 원합니다. 나는 지금
myApp.directive('myTextBox', [function() {
return {
restrict:'E',
scope: {
entered: '='
},
templateUrl: '/templates/myTextBox.html'
};
}]);
myApp.controller('myTextBoxController', ['$scope', function($scope) {
$scope.doSomething = function($item) {
$scope.entered = $item.name;
// Need to somehow call to parent scope here.
};
}]);
myTextBox.html
<div ng-controller="myTextBoxController">
<input type="text" class="form-control" ng-model="query" placeholder="Please enter..." />
</div>
entryController.js
myApp.controller('entryController', ['$scope', function($scope) {
$scope.enteredData = '';
$scope.enterClick = function() {
alert($scope.enteredData);
};
});
: my-text-box
을 생성하기 위해, 나는 다음과 같은 지침을 구축했습니다 두 가지 문제가있다. entryController
에서 enterClick
가 호출
- ,
$scope.enteredData
가 비어 있습니다. doSomething
(myTextBoxController
)이 호출 될 때, 뭔가 일어 났음을 entryController와 통신하는 방법을 모르겠습니다.
올바르게 지시문을 설정 한 것 같습니다. 내가 뭘 잘못하고 있는지 모르겠다. 누군가 올바른 방향으로 나를 가리켜 주시겠습니까?