小编Che*_*Lin的帖子

$ watch on rootscope不工作,棱角分明

我有一个切换管理员和客户端模式的按钮.我把它放在了rootcope上,所以我可以随处访问它.

我正在使用angular-ui directive切换.

我已经看了这个型号.但什么都没发生.知道什么可能是错的吗?

.run(['$rootScope', '$state', '$stateParams', '$location',
     function ($rootScope, $state, $stateParams, $location) {

         $rootScope.projectMode = 'Client';

         $rootScope.$watch('projectMode', function(){
             var path = $location.path();
             alert("fire") //Only fire ones when the app starts
             if($rootScope.projectMode === 'Client'){
                 var current = 'client'
                 var replace = 'admin'
             } else {
                 var current = 'admin'
                 var replace = 'client'
             }
             var newUrl = path.replace(current, replace)
             $location.url(newUrl);
         })

    }])
Run Code Online (Sandbox Code Playgroud)

这是我的看法.

<div class="btn-group">
  <button type="button" class="btn btn-default"  ng-model="projectMode" btn-radio="'Client'">Klient</button>
  <button type="button" class="btn btn-default"  ng-model="projectMode" btn-radio="'Admin'">Admin</button>
</div> …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

3
推荐指数
2
解决办法
7297
查看次数

让get()返回一个jQuery对象

有没有办法get()返回一个jQuery对象而不是"只是"DOM元素?

例:

$("div").get(0)返回的[<div></div>]instad <div></div>.

我想防止外包装,$($("div).get(0))因为查询会比示例稍微长一些,我担心可读性会丢失.我宁愿不使用变量来保存RAM中不必要的DOM元素.

javascript jquery

2
推荐指数
1
解决办法
44
查看次数

PHP Laravel cviebrock/eloquent-sluggable无法正常工作,因为"instanceof SluggableInterface"总是返回false

我正在尝试使用这里找到的Laravel缓存包:https://github.com/cviebrock/eloquent-sluggable

当我保存模型(例如产品)时,可缓存的功能不会使我的模型变得迟钝.这是今天全新安装的Laravel.

我可以看到事件监听器触发(SluggableServiceProvider.php中的第43行),但似乎if($ model instanceof SluggableInterface)语句永远不会返回true并且永远不会使我的模型变得迟钝.这可能是名称间距问题吗?还有其他想法吗?

这是我的产品型号:

<?php
use Cviebrock\EloquentSluggable\SluggableInterface;
use Cviebrock\EloquentSluggable\SluggableTrait;

class Product extends Eloquent {

  use SluggableTrait;
  protected $sluggable = array(
      'build_from' => 'title',
      'save_to'    => 'slug',
  );
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以通过执行以下操作来手动运行sluggify方法:

$product->sluggify();
Run Code Online (Sandbox Code Playgroud)

但我想坚持最佳实践,并尝试在触发模型保存事件时使缓慢的代码自动工作.

php instanceof slug laravel laravel-4

2
推荐指数
1
解决办法
2635
查看次数

Angular-Google-Maps:如何在控制器中使用'method'

当我将我的应用程序从jQuery方式更改为Angular方式时,我尝试使用Angular-Google-Maps.

但我找不到谷歌地图对象(地图,标记,多边形...)和使用对象'方法'的方法(如getMap(),getPath(),getPosition()..).

如果我需要获取被拖动的标记的位置,我该怎么办?就像我平常一样?

marker = new google.maps.Marker(opts);
postion = marker.getPosition();
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 angularjs angular-google-maps

1
推荐指数
1
解决办法
8581
查看次数

错误未捕获错误:[$ injector:modulerr] angularjs

我正在使用angularjs路由,但得到以下错误...

    <title>Angular js</title>

</head>
<body><div data-ng-controller="SimpleController">
    <div data-ng-view=""></div>
    NAme:<input type="text" data-ng-model="name" />{{name}}
    <br />
    <ul>
        <li data-ng-repeat="cust in customers|filter:name|orderBy:'city'">{{cust.name|uppercase}}-{{cust.city|lowercase}}</li>
    </ul>
        <script>
                var demoapp = angular.module('demoapp', ['ngRoute']);
                demoapp.config(function($routeprovider){
                    $routeprovider
                    .when('/',{
                    controller:'SimpleController',
                    templateUrl:'view1.html'
                })
                  .when('/partial2',{
                controller:'SimpleController',
                templateUrl:'view2.html'
                })
                  .otherwise({redirectTo:'/'});
                });
            demoapp.controller('SimpleController',
            function ($scope) {
                $scope.customers = [{ name: 'aman', city: 'boom' },
                                     { name: 'ajay', city: 'reem dee' },
                                     { name: 'hood', city: 'meen' }];
            });
        </script>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

控制台上的错误

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.12/$injector/modulerr?p0=demoapp&p1=Error%3…0Yb%20(http%3A%2F%2Flocalhost%3A4257%2Fscripts%2Fangular.min.js%3A32%3A232)
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-routing

1
推荐指数
1
解决办法
8253
查看次数

Django REST - 完整用户名的自定义序列化程序

我有一个应用程序,后端带有 Django/Django-REST,前端带有 Angular。我正在寻找将用户 ID 转换为完整用户名以在 Angular JS 模式中显示的正确方法。

这是我的序列化程序:

from rest_framework import serializers
from .models import ArtnetTasks
from django.contrib.auth.models import User


class TaskSerializer(serializers.ModelSerializer):
    date_assigned = serializers.DateTimeField(format='%Y-%m-%d')
    assigned_by_name = serializers.SerializerMethodField('full_username')
    assigned_to_name = serializers.SerializerMethodField('full_username')

    def full_username(self, id):

        user = User.objects.get(id=id)
        name = user.first_name + " " + user.last_name
        return name

    class Meta:
        model = ArtnetTasks, Users
        fields = ('id', 'headline', 'message', 'assigned_to', 'assigned_to_name', 'assigned_by', 'assigned_by_name', 'date_assigned', )
Run Code Online (Sandbox Code Playgroud)

我的型号:

class ArtnetTasks(models.Model):
    id = models.IntegerField(primary_key=True)
    headline = models.CharField(max_length=75L)
    message = models.TextField()
    response_message = models.TextField(blank=True) …
Run Code Online (Sandbox Code Playgroud)

python django angularjs django-rest-framework

0
推荐指数
1
解决办法
2353
查看次数

怎么来功能不等待另一个功能

我有2个函数,函数A调用函数B,它对地址进行地理编码并将LatLng对象返回给函数A,但不知何故,函数A不等待函数B从Google返回结果.

function A() {
    var address = document.getElementById("txtbox").value;
    //geocoding here
    var here = B(address);
    if (here == null) {
        console.log("seems like geocode didn't work, defaulting value");
Run Code Online (Sandbox Code Playgroud)

在功能B中

function B(address) {
    var here;
    geocoder = new google.maps.Geocoder();
    geocoder.geocode( { 'address': address}, function(results, status) {
        console.log("geocoding");                                               
        if (status == google.maps.GeocoderStatus.OK) {
            console.log(results[0].geometry.location);
            currentlatlng = results[0].geometry.location;
            lng = currentlatlng.lng();
            lat = currentlatlng.lat();
            here = new google.maps.LatLng(lat, lng);
        } else {
            console.log("Geocode was not successful for the following reason: " + status);
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

html javascript google-maps function

0
推荐指数
1
解决办法
1284
查看次数