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

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

8
ข้อผิดพลาด: ไม่สามารถเรียกใช้นิพจน์ที่ไม่มีลายเซ็นการโทร
ฉันใหม่เอี่ยมสำหรับ typescript และฉันมีสองคลาส ในคลาสผู้ปกครองฉันมี: abstract class Component { public deps: any = {}; public props: any = {}; public setProp(prop: string): any { return <T>(val: T): T => { this.props[prop] = val; return val; }; } } ในชั้นเด็กฉันมี: class Post extends Component { public toggleBody: string; constructor() { this.toggleBody = …

5
ใช้อย่างถูกต้องสำหรับการแปลเชิงมุมในคอนโทรลเลอร์
ฉันใช้angular-translateสำหรับ i18n ในแอปพลิเคชัน AngularJS สำหรับทุกมุมมองแอปพลิเคชันมีตัวควบคุมเฉพาะ ในตัวควบคุมด้านล่างฉันตั้งค่าให้แสดงเป็นชื่อหน้า รหัส HTML <h1>{{ pageTitle }}</h1> JavaScript .controller('FirstPageCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.pageTitle = $filter('translate')('HELLO_WORLD'); }]) .controller('SecondPageCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.pageTitle = 'Second page title'; }]) ฉันกำลังโหลดไฟล์แปลโดยใช้นามสกุลangular-translate-loader-url ปัญหา ในการโหลดหน้าเริ่มต้นคีย์การแปลจะแสดงแทนการแปลสำหรับคีย์นั้น แปลเป็นแต่ฉันเห็นHello, World!HELLO_WORLD ครั้งที่สองที่ฉันไปที่หน้านั้นทุกอย่างเรียบร้อยดีและมีการแสดงเวอร์ชันแปล $scope.pageTitleผมถือว่าปัญหาได้จะทำอย่างไรกับความจริงที่ว่าอาจจะไฟล์แปลยังไม่ได้โหลดเมื่อควบคุมคือการกำหนดค่า สังเกต เมื่อใช้<h1>{{ pageTitle | translate }}</h1>และ$scope.pageTitle = …

30
วิธีเลือกตัวเลือกในการทดสอบไม้โปรแทรกเตอร์แบบหล่นลง js e2e
ฉันกำลังพยายามเลือกตัวเลือกจากเมนูแบบเลื่อนลงสำหรับการทดสอบ e2e เชิงมุมโดยใช้ไม้โปรแทรกเตอร์ นี่คือข้อมูลโค้ดของตัวเลือกการเลือก: <select id="locregion" class="create_select ng-pristine ng-invalid ng-invalid-required" required="" ng-disabled="organization.id !== undefined" ng-options="o.id as o.name for o in organizations" ng-model="organization.parent_id"> <option value="?" selected="selected"></option> <option value="0">Ranjans Mobile Testing</option> <option value="1">BeaverBox Testing</option> <option value="2">BadgerBox</option> <option value="3">CritterCase</option> <option value="4">BoxLox</option> <option value="5">BooBoBum</option> </select> ฉันเหนื่อย: ptor.findElement(protractor.By.css('select option:1')).click(); สิ่งนี้ทำให้ฉันมีข้อผิดพลาดต่อไปนี้: ระบุสตริงที่ไม่ถูกต้องหรือผิดกฎหมาย Build info: version: '2.35.0', …

17
ข้อผิดพลาด: อาร์กิวเมนต์ไม่ใช่ฟังก์ชันไม่ได้กำหนด
ใช้ AngularJS กับ Scala Play ฉันได้รับข้อผิดพลาดนี้ ข้อผิดพลาด: Argument 'MainCtrl' ไม่ใช่ฟังก์ชันไม่ได้กำหนด ฉันกำลังพยายามสร้างตารางที่ประกอบด้วยวันในสัปดาห์ โปรดดูรหัสของฉัน ฉันได้ตรวจสอบชื่อของคอนโทรลเลอร์แล้ว แต่ดูเหมือนว่าถูกต้อง หมายเหตุ: รหัสที่ใช้จากคำตอบ SO นี้ index.scala.html @(message: String) @main("inTime") { <!doctype html> <html lang="en" ng-app> <head> <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> </head> <div ng-controller="MainCtrl"> <table border="1"> <tbody ng-repeat='(what,items) in data'> <tr ng-repeat='item in items'> <td ngm-if="$first" rowspan="{{items.length}}">{{what}}</td> <td>{{item}}</td> …

10
Jade หรือ Handlebars ใช้อะไรเมื่อเขียนแอพ AngularJs
ฉันเป็นคนใหม่ (ish) สำหรับแอปพลิเคชั่นสแต็กเต็มรูปแบบของจาวาสคริปต์และยังใหม่สำหรับ Angular ดังนั้นฉันหวังว่าจะมีใครสักคนสามารถใส่บันทึกให้ฉันได้ที่นี่ เหตุใดฉันจึงต้องใช้เฟรมเวิร์กเทมเพลตเช่น Jade หรือ Handlebars เมื่อเขียนแอพฝั่งไคลเอ็นต์โดยใช้ AngularJS ฉันควรจะบอกว่าฉันไม่เคยใช้เฟรมเวิร์กเทมเพลตเหล่านี้เลย ดังนั้นฉันจึงไม่คุ้นเคยกับข้อดีอย่างสมบูรณ์ แต่เมื่อฉันดูที่ Handlebars มันจะทำหลายอย่างเช่นเดียวกับที่ฉันทำใน Angular เช่นการวนซ้ำเป็นต้น เท่าที่ฉันสามารถบอกได้มันสมเหตุสมผลที่สุดที่จะสร้างเทมเพลตใน Angular โดยใช้ HTML ที่เหมาะสมจากนั้นทำการเทมเพลตฝั่งไคลเอ็นต์ทั้งหมดและรวมสิ่งนี้เข้ากับแนวทางแรกของ API โดยใช้ node และ mongo เป็นต้น สาเหตุของความสับสนนี้คือตัวอย่างจำนวนมากที่ฉันพบใน GitHub ใช้ประโยชน์จาก Jade และดูเหมือนว่าจะใช้งานง่ายสำหรับฉัน โปรดสอนฉันและตั้งฉันให้ตรง ฉันชอบที่จะเรียนรู้แนวทางปฏิบัติที่ดีที่สุดจากผู้ที่รู้จักมากกว่าที่ฉันทำ ขอบคุณ

3
การใส่ $ state (ui-router) ลงใน $ http interceptor ทำให้เกิดการพึ่งพาแบบวงกลม
สิ่งที่ฉันพยายามบรรลุ ฉันต้องการเปลี่ยนเป็นสถานะบางสถานะ (เข้าสู่ระบบ) ในกรณีที่คำขอ $ http ส่งกลับข้อผิดพลาด 401 ฉันจึงสร้างตัวดักจับ $ http ปัญหา เมื่อฉันพยายามแทรก '$ state' ลงใน interceptor ฉันจะได้รับการพึ่งพาแบบวงกลม ทำไมและฉันจะแก้ไขได้อย่างไร? รหัส //Inside Config function var interceptor = ['$location', '$q', '$state', function($location, $q, $state) { function success(response) { return response; } function error(response) { if(response.status === 401) { $state.transitionTo('public.login'); return $q.reject(response); } …

6
จะส่งวัตถุเข้าสู่สถานะโดยใช้เราเตอร์ UI ได้อย่างไร
ฉันต้องการเปลี่ยนสถานะและส่งผ่านวัตถุโดยพลการโดยใช้ ui-router ฉันทราบว่าโดยปกติ$stateParamsจะใช้ แต่ฉันเชื่อว่าค่านี้ถูกแทรกลงใน URL และฉันไม่ต้องการให้ผู้ใช้สามารถบุ๊กมาร์กข้อมูลนี้ได้ ฉันต้องการทำสิ่งนี้ $state.transitionTo('newState', {myObj: {foo: 'bar'}}); function myCtrl($stateParams) { console.log($stateParams.myObj); // -> {foo: 'bar'} }; มีวิธีดำเนินการโดยไม่เข้ารหัสค่าลงใน URL หรือไม่

4
วิธีการโทรในตัวควบคุมคำสั่งจากตัวควบคุมอื่น ๆ
ฉันมีคำสั่งที่มีตัวควบคุมของตัวเอง ดูรหัสด้านล่าง: var popdown = angular.module('xModules',[]); popdown.directive('popdown', function () { var PopdownController = function ($scope) { this.scope = $scope; } PopdownController.prototype = { show:function (message, type) { this.scope.message = message; this.scope.type = type; }, hide:function () { this.scope.message = ''; this.scope.type = ''; } } var linkFn = function (scope, …

6
วิธีกำหนดแอพเชิงมุมสองแอพ / โมดูลในหน้าเดียว
ฉันกำลังพยายามเพิ่มแอพ / โมดูลเชิงมุมสองตัวในหน้าเดียว ใน fiddles ด้านล่างคุณจะเห็นว่าเฉพาะโมดูลแรกที่อ้างอิงในโค้ด html เท่านั้นที่จะทำงานได้อย่างถูกต้องในขณะที่มุมที่สองไม่รู้จัก ในซอนี้เราสามารถดำเนินการตามdoSearch2วิธีการเท่านั้นในขณะที่ในซอนี้doSearchวิธีการเท่านั้นที่ทำงานได้อย่างถูกต้อง ฉันกำลังมองหาวิธีการวางโมดูลเชิงมุมสองโมดูลให้ถูกต้องในหน้าเดียว

16
href แทนที่ ng-click ใน Angular.js
เมื่อมีการกำหนดแอตทริบิวต์ href และ ng-click: <a href="#" ng-click="logout()">Sign out</a> hrefแอตทริบิวต์จะเหนือกว่างะคลิก ฉันกำลังมองหาวิธีเพิ่มลำดับความสำคัญของ ng-click href จำเป็นสำหรับ Twitter Bootstrap ฉันไม่สามารถลบออกได้
118 html  angularjs  anchor  markup 

7
AngularJS - ทริกเกอร์เมื่อเลือกปุ่มตัวเลือก
ฉันค้นหาและลองใช้ตัวเลือก ng-xxxx หลายตัว แต่ไม่พบตัวเลือกนี้ .. ฉันแค่ต้องการเรียกใช้ฟังก์ชันบางอย่างในคอนโทรลเลอร์เมื่อเลือกปุ่มตัวเลือก ก็เลยอาจจะคล้าย ๆ ตามนี้ .. (แน่นอนโค้ดด้านล่างใช้ไม่ได้) <input type="radio" ng-model="value" value="one" ng-click="checkStuff()"/> มีวิธีใดบ้างที่จะบรรลุสิ่งที่ฉันต้องการ?
118 angularjs 

5
AngularJS: การแทรกบริการลงในตัวสกัดกั้น HTTP (การพึ่งพาแบบวงกลม)
ฉันกำลังพยายามเขียนตัวดักจับ HTTP สำหรับแอป AngularJS เพื่อจัดการการตรวจสอบสิทธิ์ รหัสนี้ใช้งานได้ แต่ฉันกังวลเกี่ยวกับการฉีดบริการด้วยตนเองเนื่องจากฉันคิดว่า Angular ควรจัดการสิ่งนี้โดยอัตโนมัติ: app.config(['$httpProvider', function ($httpProvider) { $httpProvider.interceptors.push(function ($location, $injector) { return { 'request': function (config) { //injected manually to get around circular dependency problem. var AuthService = $injector.get('AuthService'); console.log(AuthService); console.log('in request interceptor'); if (!AuthService.isAuthenticated() && $location.path != '/login') { console.log('user is not logged …

6
ng-change รับค่าใหม่และค่าเดิม
ฉันใช้ ng-options เพื่อเลือกค่าจากแบบดึงลง ฉันต้องการเปรียบเทียบค่าเก่ากับค่าใหม่ได้ ng-change ทำงานได้ดีสำหรับการดึงค่าใหม่ของการดึงลง แต่ฉันจะรับทั้งค่าใหม่และค่าเดิมได้อย่างไร <select ng-change="updateValue(user)" ng-model="user.id" ng-options="user.id as user.name for user in users"></select> ตัวอย่างเช่นสมมติว่าฉันต้องการให้คอนโทรลเลอร์บันทึก "ชื่อผู้ใช้เดิมของคุณคือ BILL ชื่อผู้ใช้ปัจจุบันของคุณคือ PHILLIPE"


4
Angular ng-change delay
ฉันมีอินพุตที่กรองรายการ ng-repeat เกี่ยวกับการเปลี่ยนแปลง การทำซ้ำมีข้อมูลจำนวนมากและใช้เวลาสองสามวินาทีในการกรองทุกอย่าง ฉันต้องการให้พวกเขาหน่วงเวลา 0.5 วินาทีก่อนที่ฉันจะเริ่มกระบวนการกรอง อะไรคือวิธีที่ถูกต้องในเชิงมุมในการสร้างความล่าช้านี้? อินพุต <input ng-model="xyz" ng-change="FilterByName()" /> ทำซ้ำ <div ng-repeat"foo in bar"> <p>{{foo.bar}}</p> </div> ฟังก์ชั่นตัวกรอง $scope.FilterByName = function () { //Filtering Stuff Here }); ขอบคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.