คำถามติดแท็ก angularjs

ใช้สำหรับคำถามเกี่ยวกับ AngularJS (1.x), เฟรมเวิร์ก JavaScript แบบโอเพ่นซอร์ส อย่าใช้แท็กนี้สำหรับ Angular 2 หรือใหม่กว่า; ใช้แท็ก [angular] แทน

17
กล่องโต้ตอบการยืนยันบน ng-click - AngularJS
ฉันกำลังพยายามตั้งค่ากล่องโต้ตอบการยืนยันng-clickโดยใช้คำสั่ง angularjs ที่กำหนดเอง: app.directive('ngConfirmClick', [ function(){ return { priority: 1, terminal: true, link: function (scope, element, attr) { var msg = attr.ngConfirmClick || "Are you sure?"; var clickAction = attr.ngClick; element.bind('click',function (event) { if ( window.confirm(msg) ) { scope.$eval(clickAction) } }); } }; }]) วิธีนี้ใช้งานได้ดี แต่น่าเสียดายที่นิพจน์ภายในแท็กโดยใช้คำสั่งของฉันไม่ได้รับการประเมิน: <button ng-click="sayHi()" ng-confirm-click="Would you …

7
แทนที่ ng-include node ด้วย template?
ยังใหม่กับเชิงมุม เป็นไปได้หรือไม่ที่จะแทนที่โหนด ng-include ด้วยเนื้อหาของเทมเพลตที่รวมอยู่ ตัวอย่างเช่นด้วย: <div ng-app> <script type="text/ng-template" id="test.html"> <p>Test</p> </script> <div ng-include src="'test.html'"></div> </div> html ที่สร้างขึ้นคือ: <div ng-app> <script type="text/ng-template" id="test.html"> <p>Test</p> </script> <div ng-include src="'test.html'"> <span class="ng-scope"> </span> <p>Test</p> <span class="ng-scope"> </span> </div> </div> แต่สิ่งที่ฉันต้องการคือ: <div ng-app> <script type="text/ng-template" id="test.html"> <p>Test</p> </script> <p>Test</p> </div>
85 angularjs 

9
AngularJS: จะสร้างสคริปต์โหลดเชิงมุมภายใน ng-include ได้อย่างไร
สวัสดีฉันกำลังสร้างหน้าเว็บที่มีมุม ปัญหาคือมีบางสิ่งที่สร้างขึ้นแล้วโดยไม่มีมุมและฉันต้องรวมไว้ด้วย ปัญหาคือเรื่องนี้ ฉันมีสิ่งนี้ใน main.html ของฉัน: <ngInclude src="partial.html"> </ngInclude> partial.html ของฉันมีบางอย่างเช่นนี้ <h2> heading 1 <h2> <script type="text/javascript" src="static/js/partial.js"> </script> และ partial.js ของฉันไม่มีส่วนเกี่ยวข้องกับ angularjs nginclude ใช้งานได้และฉันสามารถเห็น html แต่ฉันไม่เห็นไฟล์จาวาสคริปต์ที่กำลังโหลดเลย ฉันรู้วิธีใช้ firebug / chrome-dev-tool แต่ฉันไม่เห็นแม้แต่การร้องขอเครือข่าย ผมทำอะไรผิดหรือเปล่า? ฉันรู้เชิงมุมมีความหมายพิเศษกับแท็กสคริปต์ ฉันสามารถลบล้างได้หรือไม่?
85 angularjs 

6
templateUrl คำสั่งเชิงมุมสัมพันธ์กับไฟล์. js
ฉันกำลังสร้างคำสั่งเชิงมุมซึ่งจะใช้ในสถานที่ต่างๆ ฉันไม่สามารถรับประกันโครงสร้างไฟล์ของแอปที่ใช้คำสั่งได้เสมอไป แต่ฉันสามารถบังคับให้ผู้ใช้ใส่directive.jsและdirective.html(ไม่ใช่ชื่อไฟล์จริง) ในโฟลเดอร์เดียวกันได้ เมื่อเพจประเมินค่าdirective.jsจะถือว่าเพจนั้นtemplateUrlสัมพันธ์กับตัวมันเอง เป็นไปได้ไหมที่จะตั้งค่าtemplateUrlให้สัมพันธ์กับdirective.jsไฟล์ หรือขอแนะนำให้รวมเทมเพลตไว้ในคำสั่งเท่านั้น ฉันคิดว่าฉันอาจต้องการโหลดเทมเพลตที่แตกต่างกันขึ้นอยู่กับสถานการณ์ที่แตกต่างกันดังนั้นจึงต้องการใช้เส้นทางแบบสัมพัทธ์แทนการอัปเดต directive.js

10
การคลิกช่องทำเครื่องหมายด้วย ng-click จะไม่อัปเดตโมเดล
การคลิกที่ช่องทำเครื่องหมายและเรียกใช้ ng-click: โมเดลไม่ได้รับการอัปเดตก่อนที่จะเริ่มการคลิกที่ ng-click ดังนั้นค่าช่องทำเครื่องหมายจึงแสดงใน UI ไม่ถูกต้อง: สิ่งนี้ใช้ได้ใน AngularJS 1.0.7 และดูเหมือนจะเสียใน Angualar 1.2-RCx <div ng-app="myApp" ng-controller="Ctrl"> <li ng-repeat="todo in todos"> <input type='checkbox' ng-click='onCompleteTodo(todo)' ng-model="todo.done"> {{todo.text}} </li> <hr> task: {{todoText}} <hr><h2>Wrong value</h2> done: {{doneAfterClick}} และตัวควบคุม: angular.module('myApp', []) .controller('Ctrl', ['$scope', function($scope) { $scope.todos=[ {'text': "get milk", 'done': true }, {'text': "get milk2", …

4
ประกาศค่าหลายค่าใน ng-init
ดังนั้นฉันจึงสงสัยว่าฉันสามารถประกาศค่าหลายค่าภายใน ng-init เดียวได้อย่างไรโดยไม่ต้องสร้างแฮชแปลก ๆ ฉันจึงต้องเข้าถึงโดยเฉพาะเสมอ โดยพื้นฐานแล้วฉันต้องการ <div ng-init="a = 1, b = 2">{{a}}</div> และฉันกำลังบอกว่าฉันต้องการหลีกเลี่ยงที่จะทำ <div ng-init="unecessary_bs = {a: 1, b: 2}">{{unecessary_bs.a}}</div> อย่างไรก็ตามความสมเหตุสมผล: <div ng-init="a = 1, b = 2">{{a}}</div> ดูเหมือนจะไม่ได้ผล ขอบคุณที่คาดหวัง

8
กำลังโหลดไฟล์ JSON จำลองภายในการทดสอบ Karma + AngularJS
ฉันมีแอป AngularJS ที่ตั้งค่าด้วยการทดสอบโดยใช้ Karma + Jasmine ฉันมีฟังก์ชั่นที่ฉันต้องการทดสอบที่ใช้ออบเจ็กต์ JSON ขนาดใหญ่แปลงเป็นรูปแบบที่แอปที่เหลือสามารถใช้งานได้มากกว่าและส่งคืนอ็อบเจ็กต์ที่แปลงนั้น แค่นั้นแหละ. สำหรับการทดสอบของฉันฉันต้องการให้คุณมีไฟล์ JSON แยกต่างหาก (* .json) ที่มีเนื้อหาจำลอง JSON เท่านั้น - ไม่มีสคริปต์ สำหรับการทดสอบฉันต้องการจะโหลดไฟล์ JSON และปั๊มวัตถุลงในฟังก์ชันที่ฉันกำลังทดสอบได้ ฉันรู้ว่าฉันสามารถฝัง JSON ภายในโรงงานจำลองได้ตามที่อธิบายไว้ที่นี่: http://dailyjs.com/2013/05/16/angularjs-5/แต่ฉันต้องการให้ JSON ไม่อยู่ในสคริปต์ - เพียงแค่ JSON แบบตรง ไฟล์. ฉันลองทำมาสองสามอย่างแล้ว แต่ฉันค่อนข้างไม่มีใครในด้านนี้ ก่อนอื่นฉันตั้งค่า Karma เพื่อรวมไฟล์ JSON ของฉันเพื่อดูว่ามันจะทำอะไร: files = [ ... 'mock-data/**/*.json' ... ] สิ่งนี้ส่งผลให้: Chrome …

5
AngularJS: โรงงาน $ http. รับไฟล์ JSON
ฉันต้องการพัฒนาในเครื่องด้วยไฟล์ JSON แบบฮาร์ดโค้ด ไฟล์ JSON ของฉันมีดังต่อไปนี้ (ถูกต้องเมื่อใส่ลงในโปรแกรมตรวจสอบ JSON): { "contentItem": [ { "contentID" : "1", "contentVideo" : "file.mov", "contentThumbnail" : "url.jpg", "contentRating" : "5", "contentTitle" : "Guitar Lessons", "username" : "Username", "realname" : "Real name", "contentTags" : [ { "tag" : "Guitar"}, { "tag" : "Intermediate"}, { "tag" : "Chords"} …
84 json  http  angularjs  factory 

7
Angularjs dynamic ng-pattern การตรวจสอบ
ฉันมีแบบฟอร์มว่าหากช่องทำเครื่องหมายเป็นเท็จบังคับใช้การตรวจสอบความถูกต้องในการป้อนข้อความโดยใช้คำสั่งที่จำเป็นต้องใช้ ng หากช่องทำเครื่องหมายเป็นจริงช่องจะถูกซ่อนไว้และกำหนดค่า ng-required เป็นเท็จ ปัญหาคือฉันยังมี regex สำหรับการตรวจสอบความถูกต้องที่ระบุไว้ในอินพุตด้วยเช่นกันโดยใช้คำสั่งเชิงมุมรูปแบบ ng ปัญหาที่ฉันพบคือหากผู้ใช้กรอกหมายเลขโทรศัพท์ที่ไม่ถูกต้องให้ทำเครื่องหมายที่ช่องเพื่อปิดการใช้งานข้อมูลนั้น (และไม่จำเป็นต้องตรวจสอบความถูกต้องเพิ่มเติม) แบบฟอร์มจะไม่อนุญาตให้ส่งเนื่องจากไม่ถูกต้องตามรูปแบบ ng ฉันพยายามแก้ไขปัญหานี้โดยเพิ่มฟังก์ชัน ng-change เพื่อตั้งค่ารูปแบบการป้อนข้อมูลเป็น null อย่างไรก็ตามรูปแบบ ng จึงยังคงตั้งค่าฟิลด์ไม่ถูกต้องในชุดเริ่มต้นของช่องทำเครื่องหมายเป็นเท็จ อย่างไรก็ตามหากฉันยกเลิกการเลือกช่องตั้งค่าทุกอย่างกลับไปที่การโหลดแบบฟอร์มเริ่มต้นจากนั้นทำเครื่องหมายที่ช่องอีกครั้งแบบฟอร์มนั้นถูกต้องและสามารถส่งได้ ฉันไม่แน่ใจว่าฉันขาดอะไรไป นี่คือรหัส ng-change ที่ฉันมีจนถึงตอนนี้: var phoneNumberRegex = /^\(?(\d{3})\)?[ .-]?(\d{3})[ .-]?(\d{4})$/; $scope.phoneNumberPattern = phoneNumberRegex; $scope.removeValidation = function() { if ($scope.cell._newUser === false) { $scope.request._number = ''; $scope.phoneNumberPattern = /[0-9a-zA-Z]?/; } …

3
AngularJS + JQuery: วิธีรับเนื้อหาแบบไดนามิกที่ทำงานใน angularjs
ฉันกำลังทำงานกับแอพ Ajax โดยใช้ทั้ง jQuery และ AngularJS เมื่อฉันอัปเดตเนื้อหา (ซึ่งมีการโยง AngularJS) ของ div โดยใช้htmlฟังก์ชันของ jQuery การเชื่อม AngularJS จะไม่ทำงาน ต่อไปนี้เป็นรหัสของสิ่งที่ฉันพยายามทำ: $(document).ready(function() { $("#refreshButton").click(function() { $("#dynamicContent").html("<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>") }); }); </style><script src="http://docs.angularjs.org/angular-1.0.1.min.js"></script><style>.ng-invalid { border: 1px solid red; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app=""> <div id='dynamicContent'> <button ng-click="count …
84 jquery  angularjs 

1
การใช้ HTML5 pushstate บน angular.js
ฉันกำลังพยายามใช้ pushstate ของ html5 แทน # navigation ที่ Angularjs ใช้ ฉันได้ลองค้นหาคำตอบของ Google แล้วและลองใช้ห้องสนทนา irc เชิงมุมโดยยังไม่มีโชค นี่คือของฉันcontrollers.js: function PhoneListCtrl($scope, $http) { $http.get('phones/phones.json').success(function(data) { $scope.phones = data; }); } function PhoneDetailCtrl($scope, $routeParams) { $scope.phoneId = $routeParams.phoneId; } function greetCntr($scope, $window) { $scope.greet = function() { $("#modal").slideDown(); } } app.js angular.module('phoneapp', []). config(['$routeProvider', …

5
วิธีตรวจสอบว่ามีการแก้ไขสัญญา Angular $ q หรือไม่
ฉันเข้าใจว่าโดยทั่วไปแล้วเราจะแนบรหัสความต่อเนื่องที่มีลักษณะการthen()โทรและลูกโซ่เมื่อใช้คำสัญญา อย่างไรก็ตามฉันต้องการเริ่มต้นการโทรแบบอะซิงโครนัสที่ผูกมัดตามสัญญาแล้วเริ่มต้น 3 วินาที$timeout()เพื่อให้ฉันสามารถดำเนินการ UI ได้เฉพาะในกรณีที่สัญญาเดิมยังไม่เสร็จสมบูรณ์ (ฉันคาดว่าสิ่งนี้จะเกิดขึ้นเฉพาะกับการเชื่อมต่อที่ช้าอุปกรณ์มือถือบน 3G ฯลฯ ) เมื่อได้รับสัญญาฉันสามารถตรวจสอบได้ว่าเสร็จสมบูรณ์หรือไม่โดยไม่ปิดกั้นหรือรอ?
84 angularjs  promise  q 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.