Vue.js

2015-08-03 25 views
13

में माता-पिता और पोते के बीच दो-तरफा डेटा बाध्यकारी कैसे करें मुझे समस्या का सामना करना पड़ा, मैं कुकीज़ द्वारा इसे हल करता हूं लेकिन मैं कुकीज़ के बिना समस्या को हल करना चाहता हूं। मेरे पास एक घटक है जिसे ऐप-हेडर कहा जाता है और इसमें एक और घटक है जिसे आउटमोडाल कहा जाता है। अब, मेरे पहले व्यू इंस्टेंस को घटक ऐप-हेडर की आवश्यकता है। एप्लिकेशन हेडर केVue.js

var vue = new Vue({ 
    el : "html", 
    data : { 
     title  : "Site Title", 
     description : "description of page", 
     keywords : "my keywords", 
     view  : "home", 
     login  : "login" 
    }, 
    components:{ 
     "app-header" :require("../../components/header"), 
     "app-footer" :require("../../components/footer"), 
     "home"  :require("../../views/home") 
    }, 
}); 

कोड outmodal

var Vue = require("vue"); 
Vue.partial("loginModal",require("../../partials/loginModal.html")); 

module.exports = { 
    template : require("./template.html"), 
    replace  : true, 
    props  : ['name'], 
    data  : function() { 
      return { 
       userLogin : { mail : "", password : "", remember : ""} 
      } 

    }, 
    methods : { 
     formSubmit : function(e){ 
       e.preventDefault(); 
       this.$http.post("http://example.com/auth/login",{ "email": this.userLogin.mail , "password": this.userLogin.password },function(data,status,request){ 
        $.cookie("site_token",data.token,{expires : 1}) 
       }).error(function(data,status,request){ 

       }); 

     } 
    }, ready : function(){ 
     console.log("it works") 
    } 
} 

की

var Vue  = require("vue"); 

Vue.partial("login",require("../../partials/login.html")); 
Vue.partial("logged",require("../../partials/logged.html")); 

module.exports = { 
    template : require("./template.html"), 
    replace  : true, 
    components : { 
     outmodal : require("../outmodal") 
    }, 
    props : ['login'] 
} 

कोड outmodal घटक में मैं एपीआई से कनेक्ट करने और मैं लॉगिन जाँच, तो लॉगिन succesfull हो जाएगा, मैं चाहता हूँ मेरे वू उदाहरण में लॉगिन चर के मूल्य को बदलने के लिए। मैं सभी आवश्यक बनाने के लिए वेब पैक का उपयोग करता हूं। तो मुझे नहीं पता कि मैं इन फ़ाइलों के बीच डेटा बाध्यकारी कैसे कर सकता हूं।

मैं इसे कैसे हल कर सकता हूं? मैं

+0

https://vuejs.org/v2/guide/components.html#sync-Modifier – Martian2049

उत्तर

8

बेस्ट समाधान जो मैं करने के लिए उपयोग रंगमंच की सामग्री 1,0

http://v1.vuejs.org/guide/components.html#Parent-Child-Communication

के लिए

पाया 2,0

https://vuejs.org/v2/guide/components.html#Composing-Components के लिए 0,12

http://012.vuejs.org/guide/components.html#Inheriting_Parent_Scope

के लिए (माता-पिता से बच्चे के लिए एक तरफा बाध्य डेटा)

+0

यह लिंक मेरे लिए काम करता है। http://vuejs.org/guide/components.html#Parent-Child-Communication –

+0

1.0 के लिए लिंक टूटा हुआ है – d3L

+1

@ d3l मैंने लिंक अपडेट किया, धन्यवाद –

0

मुझे यह एक और सटीक होने के लिए मिला। https://vuejs.org/v2/guide/components.html#sync-Modifier केवल 2.3.0+ था। और ईमानदारी से यह अभी भी पर्याप्त नहीं है। 'दो-तरफा' डेटा बाध्यकारी के लिए बस एक आसान विकल्प होना चाहिए। इसलिए इनमें से कोई भी विकल्प अच्छा नहीं है।

इसके बजाय vuex का उपयोग करने का प्रयास करें। उनके पास इस उद्देश्य के लिए अधिक विकल्प हैं। https://vuex.vuejs.org/en/state.html

 संबंधित मुद्दे