指令范围变量在 Jade 中不起作用
Directives scope variable does not work in Jade
我知道这个标题不好,但情况本身很奇怪,所以有这个标题。所以这是我的玉文件 - 模板:
img.picture(ng-show='user.info.profilePicUrl', ng-src='{{user.info.profilePictureUrl}}')
img.picture(ng-show="!user.info.profilePicUrl", ng-src="dummyuser.png")
.basicinfo
h1.fullname
a(href='profile/{{user.info.username}}') {{user.info.fullName}}
p.description {{user.info.bio}}
span.additional
a.website(href='{{user.info.website}}') {{user.info.website}}
a.location(href='#') {{user.info.location}}
.follow
.count {{user.followedBy.length}} Followers
follow(to-follow-username="user.info.username")
在指令中:
scope: {
user: "="
},
controller: function($scope){
var request = $http({
method: "get",
url: "/users/" + $scope.user.userID + "/getInfo",
});
request.success(function(data, status, headers, config){
$scope.user.info = data;
console.log($scope.user);
});
request.error(function(data, status, headers, config){
console.log("Status");
console.log(status);
});
},
templateUrl: "/templates/follower"
所以问题来了:当我打开包含这个模板和指令的页面时,用户被传递给上面的 jade,它的每一行都解析来自 user
的数据,除了 profilePicUrl
],以及 user.info.username
。 user.info.username
在 a(href='profile/{{user.info.username}}') {{user.info.fullName}}
行中工作正常,但它不起作用 - 作为 undefined
- 在 follow(to-follow-username="user.info.username")
.
行中
img.picture(ng-show='user.info.profilePicUrl', ng-src='{{user.info.profilePictureUrl}}')
img.picture(ng-show="!user.info.profilePicUrl", ng-src="dummyuser.png")
.basicinfo
h1.fullname
a(href='profile/{{user.info.username}}') {{user.info.fullName}} //The username is actual username - Works Here
p.description {{user.info.bio}}
span.additional
a.website(href='{{user.info.website}}') {{user.info.website}}
a.location(href='#') {{user.info.location}}
.follow
.count {{user.followedBy.length}} Followers
follow(to-follow-username="user.info.username") //Doesn't work here
不要使 HTTP cal 同步,但在成功时重新应用范围修改:
request.success(function(data, status, headers, config){
$scope.$apply(function () {
$scope.user.info = data;
});
});
我知道这个标题不好,但情况本身很奇怪,所以有这个标题。所以这是我的玉文件 - 模板:
img.picture(ng-show='user.info.profilePicUrl', ng-src='{{user.info.profilePictureUrl}}')
img.picture(ng-show="!user.info.profilePicUrl", ng-src="dummyuser.png")
.basicinfo
h1.fullname
a(href='profile/{{user.info.username}}') {{user.info.fullName}}
p.description {{user.info.bio}}
span.additional
a.website(href='{{user.info.website}}') {{user.info.website}}
a.location(href='#') {{user.info.location}}
.follow
.count {{user.followedBy.length}} Followers
follow(to-follow-username="user.info.username")
在指令中:
scope: {
user: "="
},
controller: function($scope){
var request = $http({
method: "get",
url: "/users/" + $scope.user.userID + "/getInfo",
});
request.success(function(data, status, headers, config){
$scope.user.info = data;
console.log($scope.user);
});
request.error(function(data, status, headers, config){
console.log("Status");
console.log(status);
});
},
templateUrl: "/templates/follower"
所以问题来了:当我打开包含这个模板和指令的页面时,用户被传递给上面的 jade,它的每一行都解析来自 user
的数据,除了 profilePicUrl
],以及 user.info.username
。 user.info.username
在 a(href='profile/{{user.info.username}}') {{user.info.fullName}}
行中工作正常,但它不起作用 - 作为 undefined
- 在 follow(to-follow-username="user.info.username")
.
img.picture(ng-show='user.info.profilePicUrl', ng-src='{{user.info.profilePictureUrl}}')
img.picture(ng-show="!user.info.profilePicUrl", ng-src="dummyuser.png")
.basicinfo
h1.fullname
a(href='profile/{{user.info.username}}') {{user.info.fullName}} //The username is actual username - Works Here
p.description {{user.info.bio}}
span.additional
a.website(href='{{user.info.website}}') {{user.info.website}}
a.location(href='#') {{user.info.location}}
.follow
.count {{user.followedBy.length}} Followers
follow(to-follow-username="user.info.username") //Doesn't work here
不要使 HTTP cal 同步,但在成功时重新应用范围修改:
request.success(function(data, status, headers, config){
$scope.$apply(function () {
$scope.user.info = data;
});
});