Angularjs Controller 간 통신 방식, vue 구성 요소 간 통신
js:
var app = angular.module('myApp', []);
// Myservice
app.factory('Myservice', function(){
return {};
});
app.controller('Ctrltest1', function($scope, Myservice) {
$scope.change = function() {
Myservice.name = $scope.test; //
};
});
app.controller('Ctrltst2', function($scope, Myservice) {
$scope.add = function() {
$scope.name = Myservice.name; //
};
});
html:
'Ctrltest1'>
"text" ng-model="test" />
"change()">click me
'Ctrltest2'>
"add()">my name {{name}}
2. 이벤트 방송을 바탕으로 하는 방식
$on
$emit
( )
$broadcast
( )
HTML:
1 <div ng-app="app" ng-controller="parentCtr">
2 <div ng-controller="childCtr1">name :
3 <input ng-model="name" type="text" ng-change="change();" />
4 div>
5 <div ng-controller="childCtr2">Ctr1 name:
6 <input ng-model="ctr2Name" />
7 div>
8 div>
js:
var myapp=angular.module("app", [])
myapp.controller("parentCtr",function ($scope) {
// childCtr1
$scope.$on("Ctr1toparent",function (event, msg) {
console.log("parent", msg);//
//
$scope.$broadcast("parenttoCtr", msg);
});
myapp.controller("childCtr1", function ($scope) {
$scope.change = function () {
//childCtr1 parentCtr
$scope.$emit("Ctr1toparent", $scope.name);
};
myapp.controller("childCtr2", function ($scope) {
// parentCtr
$scope.$on("parenttoCtr",function (event, msg) {
console.log(msg);
$scope.ctr2Name= msg;
});
});
여기child Ctr1의name 변경 사항은 아버지 controller에게 전달되고 아버지 controller는 이벤트 포장을 모든 하위 controller에게 다시 방송하며,child Ctr2는parenttoCtr 이벤트를 등록하고 자신을 바꿉니다.부모 controller가 방송할 때 이벤트name을 반드시 바꿔야 합니다. (Ctr1toparent를parenttoCtr로 바꾸십시오.)또 상하 간의 통신은 작용역 계승 방식으로도 가능하다.
vue 구성 요소 간 통신:
이 문장은 아주 잘 썼다http://www.cnblogs.com/keepfool/p/5637834.html#!comments
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.