2013-10-25 8 views
6

मैं विजुअल स्टूडियो 2012 के साथ विंडोज 8.1 पर कोणीय जेएस के साथ एक HTML5/जेएस/CSS3 ऐप बनाने की कोशिश कर रहा हूं। मैं वर्तमान में अन्य विचारों के लिए पैरामीटर भेजने पर अटक गया हूं।कोणीय जेएस और विंडोज 8 रूट त्रुटि

जब googleing मैं <a href="#/page/{{:pageId}}">link</a> का उपयोग करके कई उदाहरण देखता हूं, जब मैं इसे अपने विंडोज 8 एप्लिकेशन में करता हूं और लिंक पर क्लिक करता हूं तो मुझे निम्न त्रुटि मिल रही है।

कोई Apps जब मैं एक टैग के बीच {{:pageId}} कोड वह अपने आईडी से पता चलता डाल लिंक के इस प्रकार (असुरक्षित)

खोलने के लिए स्थापित कर रहे हैं।

app.js

var myApp = angular.module('myApp', ['ngRoute', 'ngResource']); 

myApp.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when("/", { templateUrl: "views/home.html" }) 
     .when("/page/:pageId", { templateUrl: "views/page.html" }) 
     .otherwise({ redirectTo: "/" }); 
}]); 

इस समस्या को हल करने के लिए एक समाधान क्या है?

--update--

मैं कुछ और अधिक डिबगिंग किया है। ब्राउज़र में यह सब ठीक काम कर रहा है। वी.एस. कुछ कोड जोड़ने की तरह

<a class="ng-binding" href="unsafe:ms-appx://3595d292-0235-47cd-8db7-cb3019f29114/www/index.html#/page/1" data-ng-href="#/page/1">Select</a> 

लग रहा है: दृश्य स्टूडियो में मैं निम्नलिखित मिल गया है। स्रोत में मैंने href आइटम

मैंने लिंक बदल दिया है और सभी ठीक दिखते हैं, सही चर भी लोड किया जाता है केवल वीएस लिंक के तराजू पर 'असुरक्षित' जोड़ता रहता है।

+0

'{{: pageId}} 'बाध्यकारी आपके नियंत्रक के' $ स्कोप' ऑब्जेक्ट पर 'पृष्ठ आईडी' नामक एक संपत्ति की तलाश करेगा। क्या आपके पास उस कंट्रोलर में वह संपत्ति है? यदि नहीं, जब कोणीय '{{: pageId}}' अभिव्यक्ति का मूल्यांकन करता है, तो उसे पता चल जाएगा कि यह पृष्ठ अनिर्धारित है और आपका लिंक 'href =" #/पृष्ठ/"' में बदल देगा, जिसमें आपके पास कोई मार्ग नहीं है इसके लिए परिभाषित ... – tennisgent

+0

आपके ब्राउज़र में यूआरएल क्या है? क्या यह फ़ाइल है: // या http: //? – HMR

+0

देर से टिप्पणी के लिए खेद है। चूंकि यह सभी HTML5 और JS है, मैंने ब्राउज़र में इसका परीक्षण किया और वहां यह सही काम करता है। – Rik

उत्तर

11

समस्या हल हो गई!

एमएस-एपएक्स की तरह लगता है जो एमएस द्वारा जोड़ा जा रहा है समस्या का कारण बनता है। यह निम्नलिखित कोड जोड़कर हल किया जा रहा है।

AngularJS 1,2

app.config(['$compileProvider', function($compileProvider) { 
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|file|ms-appx):/); 
}]); 

1.1.x और 1.0.x के लिए, urlSanitizationWhitelist का उपयोग करें।

यदि आप फोनगैप का उपयोग करते हैं, तो https के अलावा फ़ाइल जोड़ने के लिए याद रखें? अन्यथा, लिंक काम नहीं करेंगे।

+0

वाह महान खोज, मैं एक अच्छा डीबगिंग वातावरण प्राप्त करने में असमर्थ था इसलिए मुझे नहीं पता था कि यह एमएस-एपएक्स भी लगा रहा था। – jacobsgriffith

+0

भयानक .. यह मेरे कॉर्डोवा परियोजना के विंडोज़ लक्ष्य के लिए मेरा दिन बना – EeKay

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